Algoritma Pemrograman I : C++ Soal Latihan A (Struct, Array, Function)

12/12/2012 10:23

Soal Latihan Take Home

  1. Buatlah Structure dengan nama penjualan

  2. Banyak data penjualan yang di input harus sama dengan ketentuan jumlah penjualan yang sudah diberikan di awal input.

  3. Diskon (gunakan if)

10 % Jika jumlah barang yang dibeli >=5

5 % Jika jumlah barang yang dibeli < 5

            Diskon diperoleh dari perkalian jumlah barang dengan harga satuan.

  1. Total = (jumlah baramg* harga) – diskon.

  2. Harga total = semua total bayar.

  3. Total item = total keseluruhan data jumlah beli yang ada.

 

Input :

 

Input jumlah penjualan                       =

Nama Pegawai pencatat                      =

Hari pencatatan                                   =

Tanggal Pencatatan                             =

***********************************************

Rincian Data Penjualan

**********************************************

Penjualan Ke – :

Kode Barang                                       =

Nama Barang                                      =

Jumlah Barang                                    =

Harga Beli                                           =

 

Output

Laporan Data Penjualan Barang

PT “SEDAYU KENANGAN “

 

Hari Pencatatan :                                                                                 Tanggal Pencatatan:

Nama Pegawai Pencatat :

***********************************************************************

No     Kode      Nama Barang        Jumlah Beli        Harga               Diskon           Total

          Barang                                                            Barang                            

***********************************************************************

1.      …….         …………           …………           ……..                ………          …….

2.      …….         …………           …………           ……..                ………          …….

***********************************************************************

                                                                                                Harga Total=

Total Item = …….

 

LISTING PROGRAM:

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

    struct
   {
       char kode[5], nabar[20];
      int jumbel, harga, disk, total;
   }penjualan[10];

   char pegawai[10],tgl[10];
    int i, jmldata;
   int  grand, item;

/*Fungsi Diskon*/
   disc()
   {
       if(penjualan[i].jumbel >= 5)
          penjualan[i].diskon = (penjualan[i].jumbel*

penjualan[i].harga) * 0.1;
      else if(penjualan[i].jumbel < 5)
          penjualan[i].diskon = (penjualan[i].jumbel*penjualan[i].harga) * 0.05;
   }
/*Fungsi Total*/
   sub()
   {
    penjualan[i].total=(penjualan[i].jumbel*penjualan[i].harga)-penjualan[i].disk;
   }
/*Fungsi Grandtotal*/
   grandtotal()
   {
       grand =penjualan[i].total + grand;
    }

main()
{
    clrscr();
   cout<<"Penjualan PT. Sedayu Kenangan"<<endl;
   cout<<"-----------------------------"<<endl;
   cout<<"Input Jumlah Penjualan : "; cin>>jmldata;
   cout<<"Input Pegawai Pencatat : "; gets(pegawai);
   cout<<"Tanggal Pencatatan     : "; cin>>tgl;
   cout<<endl;
   cout<<"*****************************"<<endl;
   cout<<"Rincian Data Penjualan"<<endl;
   cout<<"*****************************"<<endl;
   for(i=1; i<=jmldata; i++)
   {
       cout<<"Penjualan Ke- "<<i<<endl;
      cout<<"Kode Barang   : "; cin>>penjualan[i].kode;
      cout<<"Nama Barang   : "; cin>>penjualan[i].nabar;
        cout<<"Jumlah Barang : "; cin>>penjualan[i].jumbel;
      cout<<"Harga Beli    : "; cin>>penjualan[i].harga;
      cout<<endl;
       disc();
      sub();
      grandtotal();
      item = penjualan[i].jumbel + item;
   }
   clrscr();
   cout<<"\t\t Laporan Data Penjualan Barang"<<endl;
   cout<<"\t\t      PT. Sedayu Kenangan"<<endl;
   cout<<endl;
   cout<<"Tanggal Pencatatan    : "<<tgl<<endl;
   cout<<"Nama Pegawai Pencatat : "<<pegawai<<endl;
   cout<<endl;
   cout<<"***********************************************"<<endl;
   cout<<"No Kode    Nama    Jumlah  Harga  Diskon  Total"<<endl;
   cout<<"   Barang  Barang  Beli    Barang              "<<endl;
   cout<<"***********************************************"<<endl;
   for(i=1; i<=jmldata; i++)
   {
       cout<<"\n"<<setiosflags(ios::left)<<setw(3)<<i;
      cout<<setiosflags(ios::left)<<setw(8)<<penjualan[i].kode;
      cout<<setiosflags(ios::left)<<setw(8)<<penjualan[i].nabar;
      cout<<setiosflags(ios::left)<<setw(8)<<penjualan[i].jumbel;
      cout<<setiosflags(ios::left)<<setw(7)<<penjualan[i].harga;
      cout<<setiosflags(ios::left)<<setw(8)<<penjualan[i].disk;
      cout<<setiosflags(ios::left)<<setw(8)<<penjualan[i].total<<endl;;
   }
   cout<<"***********************************************"<<endl;
   cout<<endl;
   cout<<"                              Grand Total: "<<grand<<endl;
   cout<<"Total Item : "<<item<<endl;
   cout<<endl;
   getch();
}