Latihan kode program C++ kali ini akan membahas cara membuat menu berulang. Menu seperti ini umum dijumpai pada program C++ yang cukup besar, dimana user bisa memilih menu yang ada dan bisa mengulangi pilihan sampai user memutuskan exit.
Soal ini dipakai untuk menguji pemahaman seputar konsep switch case, if else serta perulangan do while.
Soal Membuat Menu Berulang
Buatlah sebuah kode program C++ yang akan menampilkan menu berikut:
## Daftar Menu Kopi Ilkom ## ============================== 1. Espresso 2. Cappuccino 3. Moccacino 4. Vanilla Latte 5. Hazelnut Latte Pilihan anda:
Disini terdapat 5 pilihan menu kopi. Lalu kode program akan berhenti menunggu user memilih salah satu menu. Jika diinput angka 3, maka hasilnya menjadi:
Pilihan anda: 3 Anda memilih Moccacino Ingin memilih menu lain (y/t)?
Karena memilih angka 3, maka akan tampil teks "Anda memilih Moccacino". Sampai disini program tidak berhenti, tapi tampil pertanyaan kedua apakah user masih ingin memilih menu lain atau keluar (program selesai).
Jika user menginput huruf "y", maka akan tampil kembali menu awal:
## Daftar Menu Kopi Ilkom ## ============================== 1. Espresso 2. Cappuccino 3. Moccacino 4. Vanilla Latte 5. Hazelnut Latte Pilihan anda:
Jika user menginput angka 5, maka hasilnya adalah:
Pilihan anda: 5 Anda memilih Hazelnut Latte Ingin memilih menu lain (y/t)?
Sampai disini, menu akan terus berulang hingga user mengetik karakter "t". Jika ini yang terjadi, hasilnya adalah:
Ingin memilih menu lain (y/t)? t Terimakasih...
Dan program selesai.
Tips Membuat Menu Berulang
Soal ini melatih pemahaman tentang cara penggunaan variabel, proses input output, penggunaan kondisi if else atau switch case, serta perulangan do while.
Berikut tutorial pendahuluan yang bisa diikuti:
- Pengertian Variabel dalam Bahasa C++
- Percabangan Kondisi IF ELSE C++
- Percabangan Kondisi Switch Case C++
- Perulangan DO WHILE Bahasa C++
Kemampuan mengolah logika juga diperlukan. Misalnya jika user menginput angka di luar pilihan 1 – 5, maka tampilkan pesan bahwa nilai input tidak valid.
Silahkan anda coba sebentar untuk membuat kode program ini.
Kode Program C++ Membuat Menu Berulang
Berikut salah satu solusi dari soal membuat menu berulang menggunakan bahasa pemrograman C++:
#include <iostream> using namespace std; int main() { int pilihan; char ulang; do { cout << "## Daftar Menu Kopi Ilkom ##" << endl; cout << "==============================" << endl; cout << "1. Espresso" << endl; cout << "2. Cappuccino" << endl; cout << "3. Moccacino " << endl; cout << "4. Vanilla Latte" << endl; cout << "5. Hazelnut Latte" << endl; cout << endl; cout << "Pilihan anda: "; cin >> pilihan; switch(pilihan){ case 1: cout << "Anda memilih Espresso" << endl; break; case 2: cout << "Anda memilih Cappuccino" << endl; break; case 3: cout << "Anda memilih Moccacino" << endl; break; case 4: cout << "Anda memilih Vanilla Latte" << endl; break; case 5: cout << "Anda memilih Hazelnut Latte" << endl; break; default: cout << "Menu tidak tersedia" << endl; } cout << endl; cout << "Ingin memilih menu lain (y/t)? "; cin >> ulang; cout << endl; } while (ulang!= 't'); cout << "Terimakasih..."; cout << endl; return 0; }
Di awal kode program pada baris 7 dan 8 saya mendeklarasikan dua variabel, yakni pilihan dan ulang. Variabel pilihan nantinya akan menampung angka pilihan menu yang diinput user. Sedangkan variabel ulang menampung karakter yang akan dipakai untuk mengulang menu.
Selanjutnya di baris 9 – 10 terdapat perintah do {. Ini adalah tanda bahwa kita masuk ke sebuah perulangan do while. Hampir semua kode program berada dalam perulangan ini, yang ditutup pada baris 48.
Kondisi akhir perulangan adalah (ulang!= 't'), yang artinya jika variabel ulang tidak d iinput karakter 't', maka perulangan do while akan terus di proses.
Pada awal perulangan di baris 11 – 18 terdapat beberapa perintah cout untuk menampilkan daftar menu. Kemudian user diminta memilih salah satu angka menu yang dibaca oleh perintah cin di baris 21.
Pilihan user ini di tampung ke dalam variabel pilihan untuk kemudian masuk ke pemeriksaan kondisi switch case di baris 23 – 41. Untuk setiap pilihan menu, akan dijalankan perintah cout sesuai yang ada pada block case. Kondisi default di baris 39 akan tampil jika user menginput angka di luar 1 – 5.
Lalu terdapat perintah cin kedua di baris 45. Inilah proses input yang dipakai menentukan apakah menu kembali tampil atau tidak. Perintah cin ini menjadi kunci agar perulangan do while bisa berakhir.
Demikian kode program latihan Membuat Menu Berulang dalam bahasa pemrograman C++. Soal seperti ini biasanya akan digabung lagi dengan pilihan menu yang lebih kompleks.
Sebagai contoh lain, silahkan buat menu berulang menghitung untuk luas bangun datar:
- Luas persegi
- Luas Persegi Panjang
- Luas Segitiga
- Luas Lingkaran
Jika dipilih Luas Segitiga, maka user bisa menginput tinggi dan alas segitiga, lalu menampilkan hasilnya. Kode yang diperlukan memang akan kompleks, tapi bisa jadi ajang latihan algoritma yang lebih menantang lagi.
Demikian, semoga bisa bermanfaat.
Jika di ubah jadi bahasa c gimana caranya?
Request ditampung ya.. mudah2an nanti sempat dibuat versi bahasa C-nya.
Bang itu kan tipe data ulang kan char
Nah pas saya coba masukin di cin>>ulang;
Untuk masukin 'y' bisa yang laen juga
Misal a,b,c,d,e,f,g,h,i,j,k dst kan itu terhitung
Char juga
Gimana dong bang
Betul, karena yang diperiksa hanya while (ulang!= 't'), jadi jika diinput huruf selain 't' akan mengulang menu diatas.
Alternatif lain dengan membalik logika menjadi while (ulang=='y') sehingga sekarang huruf selain 'y' akan menghentikan menu.
#include
#include
using namespace std;
class mathematics
int main()
{
int pilihan;
char ulang;
do
{
cout << "## pyhtagoras search machine ##" << endl;
cout << "==============================" << endl;
cout << "1. Cari nilai c" << endl;
cout << "2. Cari nilai b" << endl;
cout << "3. Cari nilai a" << endl;
cout << endl;
cout <> pilihan;
switch(pilihan){
case 1:
int a, b;
void input()
{
cout<<"nilai C Phythagoras\n";
cout<> a;
cout<> b;
}
void add()
{
cout<<"\nnilai c = "<<(sqrt(a*a+b*b));
}
case 2:
int c, a;
void input()
{
cout<<"nilai B Phythagoras\n";
cout<> c;
cout<> a;
}
void add()
{
cout<<"\nnilai c = "<<(sqrt(c*c-a*a));
}
case 3:
int c, a;
void input()
{
cout<<"nilai A Phythagoras\n";
cout<> c;
cout<> b;
}
void add()
{
cout<<"\nnilai a = "<<(sqrt(c*c-b*b));
}
};
{
Mathematics m;
m.input();
m.add();
}
cout << endl;
cout <> ulang;
cout << endl;
}
while (ulang!= 't');
cout << "Terimakasih…";
cout << endl;
return 0;
}
pas di compiler malah gini gan
7 10 C:\Users\user\Documents\Untitled2.cpp [Error] two or more data types in declaration of 'main'
fix nya gimana yaa gan ;)
switch(pilihjabatan){
case 1 :
gaji = 2000000;
jabatan = "operator";
break;
case 2 :
gaji = 3500000;
jabatan ="manager";
break;
default :
gaji = 0;
cout <<" tidak ada jabatan pilih jabatan sesuan yang ada di daftar";
}
switch(pilihstatus){
case 1 :
bonus = (gaji * 5 / 100);
status = "lajang";
break;
case 2 :
bonus = (gaji * 10 / 100);
status = "menikah";
break;
case 3 :
bonus = (gaji * 15 / 100);
status = "menikah dan punya anak";
break;
bonus = 0;
cout <<"tidak ada jabatan";}
Bang kalo cara nge exit switch yang pertama kalo yang inputnya 3 jadi programnya tidak di eksekusi
Bang semisal mau tambahin pilihan menu lagi. misal ketika user memilih espresso nanti muncul menu lagi untuk ukuran nya misal S,M,L itu gimana ya bang???