You are on page 1of 3

#include <iostream.

h>
#include <conio.h>
#include <stdio.h>
#include <string.h>

class pelanggan
{
public:
char nmp[30],almt[100];
virtual entry();
virtual print();
};

class barang:virtual public pelanggan


{
public:
char kdb[7][99],nmb[20][99];
long hrgb;
int i;
entry();
print();
};

class faktur:virtual public pelanggan


{
public:
char nof[10];
entry();
print();
};

class penjualan:public barang


{
public:
int jmlb;
long jmlh,ttlh,ttlb;
float dis,p;
entry();
print();
};

class transaksi:public penjualan, public faktur


{
public:
long c,cb;
entry();
print();
};

pelanggan::entry()
{
cout<<"Masukkan nama pelanggan\t: ";gets(nmp);
cout<<"Masukkan alamat\t\t: ";gets(almt);
}
pelanggan::print()
{
cout<<"Nama Pelanggan\t: "<<nmp<<endl;
cout<<"alamat\t\t: "<<almt<<endl;
cout<<endl;
}
faktur::entry()
{
cout<<"Masukkan No. Faktur\t: ";gets(nof);
}
faktur::print()
{
cout<<"No. Faktur\t: "<<nof<<endl;
cout<<endl;
}

barang::entry()
{
pelanggan::entry();

for (int i=1;i<=ttlh;i++)


{
cout<<"Masukkan kode barang\t: ";gets(kdb[i]);
if (strcmp(kdb[i],"KB001")==0)
{
strcpy(nmb[i],"Meja");
hrgb[i]=500000;
}
else if (strcmp(kdb[i],"KB002")==0)
{
strcpy(nmb[i],"Kasur lipet");
hrgb[i]=300000;
}
else if (strcmp(kdb[i],"KB003")==0)
{
strcpy(nmb[i],"Kursi Gaming");
hrgb[i]=750000;
}
}

barang::print()
{
pelanggan::print();
cout<<"kode barang\t: "<<kdb[i]<<endl;
cout<<"nama barang\t: "<<nmb[i]<<endl;
cout<<"harga barang\t: "<<hrgb[i]<<endl;
cout<<endl;
}

penjualan::entry()
{
barang::entry();
cout<<"Masukkan jumlah beli\t: ";cin>>jmlb;
jmlh=jmlb*hrgb;
if(jmlb>=2 && jmlb<=3)
{
dis=0.05*jmlh;
}
else if(jmlb>=4 && jmlb<=5)
{
dis=0.10*jmlh;
}
else if(jmlb>5)
{
dis=0.15*jmlh;
}
ttlh=jmlh-dis;
p=0.10*ttlh;
ttlb=ttlh+p;
}

penjualan::print()
{
barang::print();
cout<<"jumlah beli\t: "<<jmlb<<endl;
cout<<"jumlah harga\t: "<<jmlh<<endl;
cout<<"diskon\t\t: "<<dis<<endl;
cout<<"pajak\t\t: "<<p<<endl;
cout<<"total bayar\t: "<<ttlb<<endl;
cout<<endl;
}

transaksi::entry()
{
faktur::entry();
penjualan::entry();
}
transaksi::print()
{
faktur::print();
penjualan::print();
cout<<"masukkan cash\t: ";cin>>c;
cb=c-ttlb;
cout<<"cashback\t: "<<cb<<endl;
cout<<endl;
}

main()
{
pelanggan*object;
object=new transaksi;
object->entry();
object->print();
getch();
}

You might also like