Algoritma Pemrograman I : C++ Soal Latihan A (Struct, Array, Function)
12/12/2012 10:23
#include<stdio.h>
Soal Latihan Take Home
-
Buatlah Structure dengan nama penjualan
-
Banyak data penjualan yang di input harus sama dengan ketentuan jumlah penjualan yang sudah diberikan di awal input.
-
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.
-
Total = (jumlah baramg* harga) – diskon.
-
Harga total = semua total bayar.
-
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();
}
else if(penjualan[i].jumbel < 5)
penjualan[i].diskon = (penjualan[i].jumbel*
}
/*Fungsi Total*/
sub()
{
penjualan[i].total=(penjualan[
}
/*Fungsi Grandtotal*/
grandtotal()
{
grand =penjualan[i].total + grand;
}
main()
{
clrscr();
cout<<"Penjualan PT. Sedayu Kenangan"<<endl;
cout<<"-----------------------
cout<<"Input Jumlah Penjualan : "; cin>>jmldata;
cout<<"Input Pegawai Pencatat : "; gets(pegawai);
cout<<"Tanggal Pencatatan : "; cin>>tgl;
cout<<endl;
cout<<"***********************
cout<<"Rincian Data Penjualan"<<endl;
cout<<"***********************
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<<"***********************
cout<<"No Kode Nama Jumlah Harga Diskon Total"<<endl;
cout<<" Barang Barang Beli Barang "<<endl;
cout<<"***********************
for(i=1; i<=jmldata; i++)
{
cout<<"\n"<<setiosflags(ios::
cout<<setiosflags(ios::left)<<
cout<<setiosflags(ios::left)<<
cout<<setiosflags(ios::left)<<
cout<<setiosflags(ios::left)<<
cout<<setiosflags(ios::left)<<
cout<<setiosflags(ios::left)<<
}
cout<<"***********************
cout<<endl;
cout<<"
cout<<"Total Item : "<<item<<endl;
cout<<endl;
getch();
}