Algoritma Pemrograman I : C++ Soal Latihan Class Type C

13/12/2012 11:33

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();

 }