contoh program kasir

14 11 2008

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

const Nmaks=100;

struct data_waktu
{int jam;
int menit;
int detik;};

struct data_tanggal
{int tahun;
int bulan;
int tanggal;};

struct{double harga;
char kd_brg[5];
char nm_brg[20];
int qty;
double total; }

data[Nmaks];

int k,N,pil;
char nama_file[12];
double ttl=0;
data_tanggal tg;

void rekam_data();
void baca_data();
void tambah_data();

void main()
{
clrscr();
pil=1;
while(pil!=4){

cout<<”";
cout<<setw(10)<<”================================”<<endl;
cout<<setw(20)<<”MENU UTAMA”<<endl;
cout<<setw(10)<<”================================”<<endl;
cout<<setw(10)<<”1. Isi Data Belanja”<<endl;
cout<<setw(10)<<”2. Tambah Data Belanja”<<endl;
cout<<setw(10)<<”3. Rekap Belanja”<<endl;
cout<<setw(10)<<”4. Keluar program”<<endl;
cout<<setw(10)<<”================================”<<endl;
cout<<setw(10)<<”Pilih nomor menu (1/2/3/4): “;cin >>pil;

if(pil==4)
break;
clrscr();

switch(pil)
{
case 1 :
rekam_data();
cout<<”Tekan Enter untuk kembali ke MENU”;
getch();
clrscr();
continue;

case 2 : tambah_data();
cout<<”Tekan Enter untuk kembali ke MENU”;
getch();
clrscr();
continue;
case 3 :
clrscr();
baca_data();
cout<<”Tekan Enter untuk kembali ke MENU”;
getch();
clrscr();
continue;

}
}
}

void rekam_data()
{
clrscr();
date dt;
data_tanggal tg;

getdate(&dt);
tg.tanggal = dt.da_day;
tg.bulan = dt.da_mon;
tg.tahun = dt.da_year;

time tm;
data_waktu jm;
gettime(&tm);
jm.jam = tm.ti_hour;
jm.menit = tm.ti_min;
jm.detik = tm.ti_sec;

cout<<”Nama file : “;cin>>nama_file;
clrscr();
cout<<”Jumlah Barang Belanja : “;cin>>N;
clrscr();

//masukkan data belanja menggunakan konsep larik
for(k=0;k<N;k++)
{
cout<<”Kode Barang   : “;cin>>data[k].kd_brg;
cout<<”Nama Barang   : “;cin>>data[k].nm_brg;
cout<<”Harga Satuan  : “;cin>>data[k].harga;
cout<<”Quantity      : “;cin>>data[k].qty;
data[k].total=data[k].harga*data[k].qty;
cout<<”Total         : “<<data[k].total;
clrscr();
}

//buka file untuk merekam data-data belanja
ofstream fdata(nama_file);   /* fdata merupakan objek file dimana */
/* data-data belanja direkam */

fdata<<setw(10)<<”"<<”DAFTAR BELANJA”<<endl;
fdata<<setw(11)<<”"<<”Supermarket STT-PLN”<<endl;
fdata<<endl;
fdata<<”Tanggal : “<<tg.tanggal <<’-'<< tg.bulan <<’-'<<tg.tahun<<endl;
fdata<<”Pukul   :” <<jm.jam<<”-”<<jm.menit<<”-”<<jm.detik<<endl;
fdata<<”======================================================”<<endl;
fdata<<”NO.”<<setw(5)<<”Kd_Brg”<<setw(10)<<”Nama Brg”<<setw(8)<<”Harga”<<setw(5)<<”Qty”<<setw(8)<<”Total”<<endl;
fdata<<”======================================================”<<endl;

for(k=0;k<N;k++)
{
fdata<<setiosflags(ios::right)<<(k+1);
fdata<<setiosflags(ios::left)<<setw(10)<<data[k].kd_brg;
fdata<<setiosflags(ios::left)<<setw(15)<<data[k].nm_brg ;
fdata<<setiosflags(ios::right)<<setw(8)<<data[k].harga;
fdata<<setiosflags(ios::right)<<setw(5)<<data[k].qty;
fdata<<setiosflags(ios::right)<<setw(8)<<data[k].total<<endl;
ttl+=data[k].total;
}

fdata<<”\n====================================================”<<endl;
fdata<<”Total Bayar        = Rp. “<<ttl<<endl;
//tutup file
fdata.close();
}

void baca_data()
{
clrscr();
const int MAKS=80;
char penyangga[MAKS];
char nama_file[12];

cout<<”Nama file : “;cin>>nama_file;
clrscr();

ifstream fdata(nama_file);

if(fdata.good())
{
while(!fdata.eof())        //baca seluruh data
{
fdata.getline(penyangga,MAKS);
cout<<penyangga<<endl<<endl;
}
}
else
cout<<”Maaf file dengan nama “<<nama_file<<” tidak ada”<<endl;

fdata.close();
}

void tambah_data()
{  clrscr();
cout<<”Jumlah Barang Belanja : “;cin>>N;
clrscr();
//masukkan data belanja menggunakan konsep larik
for(k=0;k<N;k++){
cout<<”Kode Barang   : “;cin>>data[k].kd_brg;
cout<<”Nama Barang   : “;cin>>data[k].nm_brg;
cout<<”Harga Satuan  : “;cin>>data[k].harga;
cout<<”Quantity      : “;cin>>data[k].qty;
data[k].total=data[k].harga*data[k].qty;
cout<<”Total         : “<<data[k].total;
clrscr();
}
ofstream fdata(nama_file,ios::app);        /* menambah arsip dari */
/* pemasukan data */
for(k=0;k<N;k++)
{
fdata<<setiosflags(ios::right)<<setw(3)<<(k+1);
fdata<<setiosflags(ios::left)<<setw(8)<<data[k].kd_brg;
fdata<<setiosflags(ios::left)<<setw(15)<<data[k].nm_brg ;
fdata<<setiosflags(ios::right)<<setw(8)<<data[k].harga;
fdata<<setiosflags(ios::right)<<setw(3)<<data[k].qty;
fdata<<setiosflags(ios::right)<<setw(8)<<data[k].total;
ttl+=data[k].total;
}
fdata.close(); }


Actions

Information

Leave a comment