Algoritma Pemrograman I : C++ Latihan Struct, Array dan Function

08/12/2012 09:18

Latihan STRUKTUR (struct) Dengan Array dan Function :

Listing Program

#include<stdio.h>
#include<conio.h>
#include<iostream.h>
#include<iomanip.h>
struct
{
    char kode, *merk;
   int harga, jml, total;
}oli[10];

    char napem[20];
    int i, data, lagi, totalbayar;

/*Fungsi Garis, Total, dan Total Bayar*/
   garis()
   {
   cout<<"=======================

=============================="<<endl;
   }

   ttl()
   {
       oli[i].total=oli[i].harga * oli[i].jml;
   }

   totbay()
   {
       totalbayar = oli[i].total + totalbayar;
   }
main()
{
    atas:
    clrscr();
     cout<<"\t\t Data Penjualan Oli"<<endl;
   cout<<"\t\t   Sceduria motor"<<endl;
    garis();
   cout<<"Masukkan Nama Pembeli : "; gets(napem);
   cout<<"Masukkan Jumlah Barang: "; cin>>data;
   for(i=1; i<=data; i++)
   {
       cout<<"Data Penjualan Ke- "<<i<<endl;
      cout<<"\t Masukkan Kode Oli = "; cin>>oli[i].kode;
      if(oli[i].kode=='1')
      {
          oli[i].merk="Penzoil";
         oli[i].harga=50000;
      }
      else if(oli[i].kode=='2')
      {
          oli[i].merk="Top One";
         oli[i].harga=40000;
      }
      else if(oli[i].kode=='3')
      {
          oli[i].merk="Shell Helix";
         oli[i].harga=30000;
      }
      else if(oli[i].kode=='4')
      {
          oli[i].merk="Mesran";
         oli[i].harga=25000;
      }
      cout<<"\t Beli Barang       = "; cin>>oli[i].jml;
      ttl();
      totbay();

   }
   clrscr();
   cout<<endl;
   cout<<"\t\t Data Penjualan Oli"<<endl;
   cout<<"\t\t   Sceduria Motor"<<endl;
   garis();
   cout<<"Nama Pembeli : "<<napem<<endl;
   garis();
   cout<<"No  Kode  Merk      Jumlah    Harga      Total"<<endl;
   cout<<"    Oli   Oli"<<endl;
   garis();
   for(i=1; i<=data; i++)
   {
       cout<<"\n"<<setiosflags(ios::left)<<setw(4)<<i;
      cout<<setiosflags(ios::left)<<setw(4)<<oli[i].kode;
      cout<<setiosflags(ios::left)<<setw(14)<<oli[i].merk;
      cout<<setiosflags(ios::left)<<setw(8)<<oli[i].jml;
      cout<<setiosflags(ios::left)<<setw(10)<<oli[i].harga;
      cout<<setiosflags(ios::left)<<setw(12)<<oli[i].total<<endl;
   }
garis();
cout<<"Total Pembayaran   : " <<totalbayar<<endl;
cout <<endl;
cout <<"Input Data Lagi : ";cin>>lagi;
if(lagi=='Y'||lagi=='y')
goto atas;


getch();
}