Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Buat class ikan yang akan menyimpan data berat, harga, dan spesies dari ikan, jangan lupa buat setter dan getternya! Dalam class ini akan ada method hitung dimana harga dari ikan akan dihitung berdasarkan rumus berikut
- //Harga = 1000 + (Berat ikan)* 200
- //Untuk menu program:
- //Ada 3 menu yaitu
- //1. Tangkap ikan
- //2. Jual ikan
- //3. Exit
- //
- //Untuk menu 1, program akan merandom hasil ikan tangkapan user. Berat ikan akan dirandom dari 10-30 sementara spesies akan dirandom dari “mujair”, “lele”, atau “ikan mas”. User boleh terus menerus menangkap ikan, namun jumlah ikan maksimum yang dapat ditangkap adalah 10 ikan.
- //
- //Untuk menu 2, program akan menambah penghasilan user sesuai dengan harga ikan yang terakhir ditangkap. Perhatikan bahwa user maksimal hanya dapat menjual ikan sebanyak 3 kali, dan setiap kali user menjual ikannya, jumlah kesempatan user untuk menjual ikan akan berukurang. Validasikan user tidak dapat menjual ikan apabila user belum menangkap ikan atau ikan terakhir telah dijual sebelumnya.
- //
- //Program akan selesai jika user memilih menu exit ataupun sudah menjual ikan sebanyak 3 kali. Saat itu, program akan mencetak total penghasilan user dari penjualan ikan yang telah dilakukan.
- #include<iostream>
- #include<string>
- #include<conio.h>
- #include<time.h>
- using namespace std;
- void menu();
- class ikan{
- private:
- int berat[10];//semua di bentuk array
- string species[10];
- int harga[10];
- public:
- void setData(int b,string s,int x){//semua int x dalam parameter menujukan nomor ikanya
- berat[x]=b;
- species[x]=s;
- }
- int getBerat(int x){//panggil sesuai nomor ikanya (x)
- return berat[x];
- }
- int getHarga(int x){
- return harga[x]=1000+berat[x]*200;
- }
- string getSpecies(int x){
- return species[x];
- }
- };
- int jumlahikan=0;
- ikan data;//class dibuat global untuk memudahkan oper2an data
- int main(){
- menu();
- }
- void tangkap(){
- system("cls");
- srand(time(NULL));
- int spc=rand()%3;//random angka 0-2
- string sp;
- if(spc==0)
- sp="Mujaer";
- else if(spc==1)
- sp="Lele";
- else//kalo dapet 2
- sp="Mas";
- int berat=rand()%21+10;//random dari 10-30
- data.setData(berat,sp,jumlahikan);//masukin ke datanya
- cout<<"Anda Mendapatkan Ikan "<<data.getSpecies(jumlahikan)<<" dengan berat "<<data.getBerat(jumlahikan);
- jumlahikan++;
- cin.get();
- menu();
- }
- int penghasilan=0;
- int banyakjual=0;
- void jual(){
- system("cls");char answer;
- if (banyakjual<3&&jumlahikan!=0){//syarat ada ikan ama belom lebih dari 3
- cout<<"Anda Hanya Bisa menjual 3 kali saja apakah anda akan menjual ikan yg terakhir anda tangkap terakhir "<<data.getSpecies(jumlahikan-1)<<" ,"<<data.getHarga(jumlahikan-1)<<" (y/n)?";
- //jumlahikan-1 karena array dimulai dari 0
- answer=_getch();fflush stdin;
- if(answer=='y'||answer=='Y'){
- penghasilan+=data.getHarga(jumlahikan-1);
- jumlahikan--;//jumlah ikanya dikurang
- banyakjual++;//tambah supaya tar limit 3 ga kelewat
- }
- else
- cout<<"Kembali Ke menu awal"<<endl;
- }
- else
- cout<<"Anda Belum Menangkap Ikan ";
- cin.get();
- menu();
- }
- void menu(){
- system("cls");
- char x;
- if(banyakjual<3){//cek dulu udah lebih dari 3 x jual apa belom
- cout<<"PROGRAM GAME IKAN"<<endl<<"============================================="<<endl<<"Penghasilan Sementara :"<<penghasilan<<", Banyak Penjualan : "<<banyakjual<<endl;
- cout<<"1. Tangkap Ikan"<<endl<<"2. Jual Ikan"<<endl<<"3. Exit"<<endl;
- cout<<"Masukan Pilihan Anda : ";
- x=_getch();fflush stdin;
- switch(x){
- case '1':
- tangkap();
- break;
- case '2':
- jual();
- break;
- case '3':
- break;
- default:
- menu();
- break;
- }
- }
- else{//ending game
- system("cls");
- cout<<"Anda telah menjual 3 x game selesai"<<endl<<"Score akhir anda : "<<penghasilan;
- cin.get();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment