Algoritma Pemrograman I : C++ Soal Latihan Class Type C
Study Kasus:
(Class , array, if dan fungsi)
Anda sebagai Programmer di minta untuk membuatkan program restoran makanan dan minuman. Dalam menu utama ada tampilan pilihan menu makanan dan minuman cantumkan nama pengunjung, jumlah data makanan+minuman
yang dipesan.
Sebagai Outputnya: anda buat kan Struk Pembayaran atas makanan yang dipesan tersebut, dan pengunjung memberikan uang bayar dan mendapat uang kembali dari sisa pembayarannya.
Tampilan Input:
TAMPILAN OUTPUT
LISTING PROGRAM
#include<stdio.h>
#include<conio.h>
#include<iostream.h>
#include<iomanip.h>
class
{
public:
char k_mak, k_min[3], *makan, *minum;
int h_mak, h_min, j_mak,j_min, subtotal;
}resto[10];
int i, data;
int totalbayar, ubay, ukem;
char nampeng[15];
/*Fungsi Tampilkan Garis*/
garis()
{
cout<<"-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- \n";
}
/*Fungsi Sub*/
sub()
{
resto[i].subtotal = (resto[i].h_mak * resto[i].j_mak) + (resto[i].h_min * resto[i].j_min);
}
/*Fungsi Total*/
total()
{
totalbayar = resto[i].subtotal + totalbayar;
}
/*Fungsi Uang Kembalian*/
kembali()
{
ukem = ubay - totalbayar;
}
main()
{
cout<<" Restoran Murah Meriah \n";
cout<<" create : masbow \n";
cout<<endl;
garis();
cout<<"Pilihan Makanan Yang Tersedia \n";
cout<<"------------------------------"<<endl;
cout<<"Kode Jenis Harga \n";
cout<<" A Soto Betawi Rp. 8000 \n";
cout<<" B Nasi Rames Rp. 7500 \n";
cout<<" C Pecel Ayam Rp. 10000 \n";
garis();
cout<<endl;
cout<<"Pilihan Minuman Yang Tersedia \n";
cout<<"------------------------------"<<endl;
cout<<"Kode Jenis Harga \n";
cout<<" ET Es Teh Manis Rp. 2500 \n";
cout<<" EJ Es Jeruk Rp. 3000 \n";
cout<<" AM Air Mineral Rp. 1000 \n";
garis();
cout<<endl;
cout<<"Nama Pengunjung : "; gets(nampeng);
cout<<endl;
cout<<"Input Jumlah Item : "; cin>>data;
for(i=1; i<=data; i++)
{
cout<<"Pesanan Ke- "<<i<<endl;
cout<<endl;
cout<<"Kode Makanan[A/B/C] : "; cin>>resto[i].k_mak;
if(resto[i].k_mak == 'A')
{
resto[i].makan = "Soto Betawi";
resto[i].h_mak = 8000;
}
else if(resto[i].k_mak == 'B')
{
resto[i].makan = "Nasi Rames";
resto[i].h_mak = 7500;
}
else if(resto[i].k_mak == 'C')
{
resto[i].makan = "Pecel Ayam";
resto[i].h_mak = 10000;
}
cout<<"Jenis Makanan : " <<resto[i].makan<<endl;
cout<<"Harga Makanan : " <<resto[i].h_mak<<endl;
cout<<"Jumlah Porsi : "; cin>>resto[i].j_mak;
cout<<"------------------------------"<<endl;
cout<<"Kode Minuman[ET/EJ/AM]: "; cin>>resto[i].k_min;
if(!strcmp(resto[i].k_min, "ET"))
{
resto[i].minum = "Es Teh Manis";
resto[i].h_min = 2500;
}
else if(!strcmp(resto[i].k_min, "EJ"))
{
resto[i].minum = "Es Jeruk";
resto[i].h_min = 3000;
}
else if(!strcmp(resto[i].k_min, "AM"))
{
resto[i].minum = "Air Mineral";
resto[i].h_min = 1000;
}
cout<<"Jenis Minuman : " <<resto[i].minum<<endl;
cout<<"Harga Minuman : " <<resto[i].h_min<<endl;
cout<<"Jumlah Minum : "; cin>>resto[i].j_min;
cout<<"------------------------------"<<endl;
sub();
total();
}
clrscr();
cout<<"Struk Pembayaran Makanan dan Minuman \n";
cout<<" Restoran Murah Meriah \n";
cout<<"------------------------------------"<<endl;
cout<<"Nama Pengunjung : "<<nampeng<<endl;
cout<<endl;
cout<<"Rincian Pesanan "<<endl;
cout<<"-------------------------------------------------------"<<endl;
cout<<"No Jenis Jenis Jumlah Jumlah Subtotal \n";
cout<<" Makan Minum Makan Minum"<<endl;
cout<<"-------------------------------------------------------"<<endl;
for(i=1; i<=data; i++)
{
cout<<setiosflags(ios::left)<<setw(3) <<i;
cout<<setiosflags(ios::left)<<setw(12)<<resto[i].makan;
cout<<setiosflags(ios::left)<<setw(14)<<resto[i].minum;
cout<<setiosflags(ios::left)<<setw(8) <<resto[i].j_mak;
cout<<setiosflags(ios::left)<<setw(6) <<resto[i].j_min;
cout<<"Rp. "<<setiosflags(ios::left)<<setw(10)<<resto[i].subtotal<<endl;
}
cout<<"-------------------------------------------------------"<<endl;
cout<<" Total Bayar : " <<totalbayar<<endl;
cout<<" Uang Bayar : "; cin>>ubay;
kembali();
cout<<" Uang Kembali : " <<ukem<<endl;
cout<<"-------------------------------------------------------"<<endl;
getch();
}