Program Kasir Restaurant dengan C++

Ini adalah program pada Borland C++ yang kami buat secara berkelompok sebagai tugas perkuliahan semester 1:

Kode Program.

//File Header
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
#include <iomanip.h>
//Deklarasi Fungsi.
garis()
{
cout<<"-----------------------------------------------------\n";
}
bintang()
{
cout<<"*****************************************************\n";
}
restoran()
{
cout<<"                  RESTORAN NUSANTARA                 \n";
}

main()
{
//Deklarasi Variable.
int i,j;
   char nama_pembeli[20],kode_k,kasir[20],no[2],lagi,lanjut;
   long int jml_hrg=0,bayar,kembali;
   char kode_m[30],*mamin[30];
   int harga[30];
   int byk_bel[30];
   long int sub_hrg[30];
   atas:
   clrscr();
//Tampilan Pembuka
   garis();
   cout<<"       Tugas Pembuatan Program pada Borland C++\n";
   cout<<"                    Kelas 13.1C.21\n";
   cout<<"                  AMIK BSI PURWOKERTO\n";
   garis();
   cout<<"ANGGOTA KELOMPOK:\n";
   cout<<endl;
   cout<<"13141169 - Iwan Herdian\n";
   cout<<"13141227 - Dwi Yuli Wibowo\n";
   cout<<"13141291 - Puspa Tanzili Rahmani\n";
   garis();
//Proses Konfirmasi Masuk Program.
   cout<<"Log in Program [Y/T] :"; cin>>lanjut;
   if(lanjut=='Y'||lanjut=='y')
    goto lanjut;
   else
    goto selesai;
   lanjut:
   clrscr();
//Penggunaan Fungsi
   garis();
   bintang();
   restoran();
   bintang();
   garis();
//Input Nama Pembeli, Kode Kasir, Nomor Meja & Banyak Item.
   cout<<"Nama Pembeli              : ";gets(nama_pembeli);
   cout<<"KODE KASIR\n";
   cout<<"     1. Bowo [B]\n";
   cout<<"     2. Iwan [I]\n";
   cout<<"     3. Puspa[P]\n";
   cout<<"Masukkan Kode Kasir[B/I/P]: "; cin>>kode_k;
   cout<<"Masukkan Nomor Meja       : ";cin>>no;
   cout<<"Banyak Item               : ";cin>>j;
//Proses Mencari Nama Kasir menggunakan switch case selection.
   switch(kode_k)
   {
    case'B':
      case'b':
      strcpy(kasir,"Bowo");
      break;
      case'I':
      case'i':
      strcpy(kasir,"Iwan");
      break;
      case'P':
      case'p':
      strcpy(kasir,"Puspa");
      break;
      default:
      strcpy(kasir,"Kode Salah");
      break;
   }
   clrscr();
//Tampilan Kode Makanan & Minuman.
garis();
   bintang();
   cout<<"               MENU RESTORAN NUSANTARA               \n";
   bintang();
   garis();
   cout<<"KODE MAKANAN                 KODE MINUMAN:\n";
   garis();
   cout<<"1. Ayam Penyet    [A]        1. Es Dawet [F]\n";
   cout<<"2. Bebek Goreng   [B]        2. Es Teh   [G]\n";
   cout<<"3. Tumis Cumi-cumi[C]        3. Es Campur[H]\n";
   cout<<"4. Gado-gado      [D]        4. Susu     [I]\n";
   cout<<"5. Bakso          [E]        5. Kopi     [J]\n";
   garis();
   cout<<endl;
//Input Perulangan Data Pesanan
   for(i=1;i<=j;i++)
   {
    cout<<"Item Ke-"<<i<<endl;
    cout<<"Kode Makanan/Minuman : ";cin>>kode_m[i];
      cout<<"Banyaknya            : ";cin>>byk_bel[i];
      garis();
   }
//Proses Mencari Makanan/Minuman dan Harga Menggunakan If Selection.
   for(i=1;i<=j;i++)
   {
    if(kode_m[i]=='A'||kode_m[i]=='a')
      {
      mamin[i]="Ayam Penyet";
         harga[i]=10500;
      }
    else if(kode_m[i]=='B'||kode_m[i]=='b')
    {
      mamin[i]="Bebek Goreng";
         harga[i]=10000;
      }
      else if(kode_m[i]=='C'||kode_m[i]=='c')
      {
mamin[i]="Tumis Cumi-cumi";
         harga[i]=9000;
      }
      else if(kode_m[i]=='D'||kode_m[i]=='d')
      {
mamin[i]="Gado-gado";
         harga[i]=8500;
      }
      else if(kode_m[i]=='E'||kode_m[i]=='e')
      {
mamin[i]="Bakso";
         harga[i]=7000;
      }
      else if(kode_m[i]=='F'||kode_m[i]=='f')
      {
mamin[i]="Es Dawet";
         harga[i]=3000;
      }
      else if(kode_m[i]=='G'||kode_m[i]=='g')
      {
mamin[i]="Es Teh";
         harga[i]=2000;
      }
      else if(kode_m[i]=='H'||kode_m[i]=='h')
      {
mamin[i]="Es Campur";
         harga[i]=4000;
      }
      else if(kode_m[i]=='I'||kode_m[i]=='i')
      {
mamin[i]="Susu";
         harga[i]=3000;
      }
      else if(kode_m[i]=='J'||kode_m[i]=='j')
      {
mamin[i]="Kopi";
         harga[i]=2500;
      }
      else
      {
      mamin[i]="Kode Salah";
harga[i]=0;
      }
   }
   clrscr();
//Penggunaan Fungsi
   garis();
   bintang();
   restoran();
   bintang();
   garis();
//Tampilan Data Hasil Inputan
   cout<<"Nama Pembeli      : "<<nama_pembeli<<endl;
   cout<<"Nama Kasir        : "<<kasir<<endl;
   cout<<"Nomor Meja        : "<<no<<endl;
   garis();
   cout<<"No.| Makanan/      |  Harga/ | Jumlah |    Sub       \n";
   cout<<"   | Minuman       |  Porsi  | Beli   |    Harga     \n";
   garis();
//Tampilan Perulangan Data Hasil Inputan
   for(i=1;i<=j;i++)
   {
      sub_hrg[i]= byk_bel[i]*harga[i];
      cout<<setiosflags(ios::left)<<setw(5)<<i;
      cout<<setiosflags(ios::left)<<setw(15)<<mamin[i];
      cout<<setiosflags(ios::right)<<setw(8)<<harga[i];
      cout<<setiosflags(ios::right)<<setw(6)<<byk_bel[i];
      cout<<setiosflags(ios::right)<<setw(15)<<sub_hrg[i]<<endl;
//Proses Perhitungan Jumlah Harga.
jml_hrg=jml_hrg+sub_hrg[i];
   }
   garis();
//Tampilan Jumlah Harga.
   cout<<"                    Jumlah Harga   Rp. "<<jml_hrg<<endl;
//Input Uang Bayar.
   cout<<"                    Uang Bayar     Rp. "; cin>>bayar;
//Proses Perhitungan Uang Kembali.
   kembali=bayar-jml_hrg;
//Tampilan Uang Kembali.
   cout<<"                    Uang Kembali   Rp. "<<kembali<<endl;
   garis();
//Menentukan apakah akan menginput data lagi atau tidak.
   cout<<"Input Lagi [Y/T] : "; cin>>lagi;
   if(lagi=='Y'||lagi=='y')
    goto atas;
   else
    goto selesai;
   getch();
   selesai:
}
//KELEMAHAN YANG DITEMUI DARI PROGRAM YANG KAMI BUAT:
//Jika tekan 'Y' maka outputan jumlah harga salah.
//Setelah ditelusuri ternyata jumlah harga pada inputan pertama ikut dihitung.
//Mohon penjelasan dari Bapak Dosen & Ibu Asisten.


Tampilan Programnya:





 Terima Kasih telah berkunjung.

Program Kasir Restaurant dengan C++ Program Kasir Restaurant dengan C++ Reviewed by Dwi Yuli Wibowo on January 20, 2015 Rating: 5

13 comments:

  1. Replies
    1. Maaf respon lambat.
      bisa kok, asal jangan lupa tuliskan sumbernya. karena itu hasil karya kelompok kami

      Delete
  2. permasalahannya sama nih. udah dapet blm solusinya?

    ReplyDelete
  3. untuk setioslag itu maksudnya apa ya ? mohon bantuannya

    ReplyDelete
    Replies
    1. mungkin maksudnya setiosflag.

      fungsi setiosflag yaitu untuk membuat tampilan keluarannya menjadi kolom,

      (ios::right/left) untuk membuat perataan mau rata kanan atau kiri tiap kolomnya.

      setw(5) untuk menentukan lebar kolom, misal 5 karakter. gitu..

      maaf jika kurang jelas.

      Delete
  4. bro ada bntuk PPT nya ga? buat tgs presentasi:D

    ReplyDelete
  5. mas *mamin[30] itu apa kenapa harus sama *

    ReplyDelete
  6. kak disaya eoutputnya merah di iostream.h

    ReplyDelete

Pembaca yang baik tinggalkan komentar yang baik

Powered by Blogger.