Thursday 29 December 2016

Program Kasir Serdam Burger Menggunakan Struct Di C++


Pada pembahasan berikut ini saya akan membuat program kasir serdam burger dengan menggunakan struct dan kita akan menggunakan tabel daftar paket setiap pembelian, okeh dari pada panjang lebar berikut keterangan program dan kode program dibawah ini.


Keterangan program :


Source Code :

#include <iostream.h>
#include <iomanip.h>
#include <conio.h>

struct datasbp
{
   int jmlhbeli;
   char kdpaket[6];
};

struct DTransaksi
{
int jmltransaksi,nonota;
   long bayar;

   datasbp * abc;
};

DTransaksi xyz;

char* namapaket(int a)
{
char* np;
   if(!strcmp(xyz.abc[a].kdpaket,"B-01"))
    {np = "Cheese Burger";}
   else if(!strcmp(xyz.abc[a].kdpaket,"B-02"))
    {np = "Beef Burger";}
   else if(!strcmp(xyz.abc[a].kdpaket,"B-SPC"))
    {np = "Special Burger";}
   else if(!strcmp(xyz.abc[a].kdpaket,"P-M"))
    {np = "Pizza Medium Size";}
   else if(!strcmp(xyz.abc[a].kdpaket,"P-S"))
    {np = "Pizza Small Size";}
   else if(!strcmp(xyz.abc[a].kdpaket,"P-SPC"))
    {np = "Special Pizza";}
   else if(!strcmp(xyz.abc[a].kdpaket,"D-C"))
    {np = "Soft Drink Cola";}
   else if(!strcmp(xyz.abc[a].kdpaket,"D-J"))
    {np = "Soft Drink Juice";}

   return np;
}

long hargasatuan(int b)
{
long hs;
   if(!strcmp(xyz.abc[b].kdpaket,"B-01"))
    {hs = 5500;}
   else if(!strcmp(xyz.abc[b].kdpaket,"B-02"))
    {hs = 7500;}
   else if(!strcmp(xyz.abc[b].kdpaket,"B-SPC"))
    {hs = 11000;}
   else if(!strcmp(xyz.abc[b].kdpaket,"P-M"))
    {hs = 24000;}
   else if(!strcmp(xyz.abc[b].kdpaket,"P-S"))
    {hs = 9000;}
   else if(!strcmp(xyz.abc[b].kdpaket,"P-SPC"))
    {hs = 75500;}
   else if(!strcmp(xyz.abc[b].kdpaket,"D-C"))
    {hs = 4500;}
   else if(!strcmp(xyz.abc[b].kdpaket,"D-J"))
    {hs = 3500;}

   return hs;
}

long totalharga(int c)
{
int th;
   th = hargasatuan(c) * xyz.abc[c].jmlhbeli;

   return th;
}

long subtotal()
{
long s;
   s = 0;
   for(int i=0;i<xyz.jmltransaksi;i++)
    {s += totalharga(i);}

   return s;
}

long ppn()
{
long p;
   p = subtotal() * 0.1;

   return p;
}

long grentotal()
{
long gr;
   gr = subtotal() + ppn();

   return gr;
}

long kembalian()
{
long kb;
   kb = xyz.bayar - grentotal();

   return kb;
}

void tampil(int d)
{
cout<<setiosflags(ios::right)<<setw(2)<<(d + 1)<<"   ";
   cout<<setiosflags(ios::left)<<setw(5)<<xyz.abc[d].kdpaket<<" ";
   cout<<setw(20)<<namapaket(d);
   cout<<setiosflags(ios::right)<<setw(5)<<hargasatuan(d);
   cout<<setw(8)<<xyz.abc[d].jmlhbeli;
   cout<<setw(11)<<totalharga(d)<<endl;
}

void in(int e)
{
cout<<endl;
    cout<<"Data ke-"<<(e + 1)<<endl;
   cout<<"Kode Paket[B-01,B-02,B-SPC,P-M,P-S,P-SPC,D-C/D-J]: ";cin>>xyz.abc[e].kdpaket;
   cout<<"Nama Paket                                       : "<<namapaket(e)<<endl;
   cout<<"Harga Satuan                                     : "<<hargasatuan(e)<<endl;
   cout<<"Jumlah Beli                                      : ";cin>>xyz.abc[e].jmlhbeli;
   cout<<"Total Harga                                      : "<<totalharga(e)<<endl;
}

int main(void)
{
   cout<<"=================================="<<endl;
   cout<<"       SERDAM BURGER & PIZZA"<<endl;
   cout<<"=================================="<<endl;
   cout<<"No. Nota         : ";cin>>xyz.nonota;
   cout<<"Jumlah Transaksi : ";cin>>xyz.jmltransaksi;

   xyz.abc = new  datasbp[xyz.jmltransaksi];

   for(int i = 0; i < xyz.jmltransaksi; i++)
    {in(i);}

   system ("CLS");

   cout<<"========================================================"<<endl;
   cout<<"No.  Kode  Nama                Harga    Jumlah    Total"<<endl;
   cout<<"     Paket Paket               Satuan    Beli          "<<endl;
   cout<<"========================================================"<<endl;

   for(int i = 0; i < xyz.jmltransaksi; i++)
    {tampil(i);}

   cout<<"========================================================"<<endl;
   cout<<"                                      Sub Total : "<<subtotal()<<endl;
   cout<<"                                        PPN 10% : "<<ppn()<<endl;
   cout<<"                                    Grand Total : "<<grentotal()<<endl;
   cout<<"                                          Bayar : ";cin>>xyz.bayar;
   cout<<"                                       Kembaian : "<<kembalian();

getch();
}

Output program :



Demikianlah program kasir serdam burger menggunakan struct di C++ apabila ada pertanyaan atau komentar silahkan tinggalkan komentar dibawah ini, dan terima kasih telah berkunjung di Blog Fakhri.

1 komentar so far

Silahkan berkomentar yang sesuai dengan topik, Terima Kasih.

EmoticonEmoticon