PDA

View Full Version : khoc_____nhe_____Nguyen__linh__linh



linh0408
16-04-2009, 00:28
Cac anh ui,em la kon gai ma kon gai thi hoc lap trinh bt lam pai hok ah/
voi C la lop HOADON
A la lop KHACHHANG
B la lop MATHANG
Em dang mac o cho la su dung lop bao( dinh nghia tai lop HOADON
doi tuong:KHACHHANG kh,va mang MATHANG[50])! CHho ghi file nhung
hok dc duoc file vvi hok lay duoc thuoc tinh cua cac doi tuong!
//================================================== =========//

#include <conio.h>
#include <iostream.h>
#include <iomanip.h>
#include <math.h>
#include <string.h>
#include <fstream.h>
#include <stdlib.h>
#include <ctype.h>
//================================================== =========================//
class Khachhang
{ private :
char Tenkh[30];
char Diachi[30];
char sdt[11];
public :
Khachhang()
{ strcpy(Tenkh,"");
strcpy(Diachi,"");
strcpy(sdt,"");
}
Khachhang(char *Tenkh1,char *Diachi1,char *sdt1)
{ strcpy(Tenkh,Tenkh1);
strcpy(Diachi,Diachi1);
strcpy(sdt,sdt1);
}
void nhap();
char *getTenkh()
{ return Tenkh;
}
char *getDiachi()
{ return Diachi;
}
char *getsdt()
{ return sdt;
}
};
//================================================== =========================//
class Mathang
{ private :
char Tenmh[30];
int sl;
float Gia;
float Thanhtien;
public :
Mathang()
{ strcpy(Tenmh,"");
sl=0;
Gia=0;
Thanhtien=0;
}
Mathang(char *Tenmh1,int sl1,float Gia1,float Thanhtien1)
{ strcpy(Tenmh,Tenmh1);
sl=sl1;
Gia=Gia1;
Thanhtien=Thanhtien1;
}
char *getTenmh()
{ return Tenmh;
}
int getsl()
{ return sl;
}
float getGia()
{ return Gia;
}
float getThanhtien()
{ return Thanhtien;
}
void gansl(int sl1)
{sl=sl1;}
void ganGia(float gia1)
{Gia=gia1;}
void ganThanhtien(float Thanhtien1)
{Thanhtien=Thanhtien1;}
void nhap();
void hien();
};
//================================================== =========================//
class Hoadon
{ private :
char Mahd[5];
int smh;
float Tong;
Khachhang kh;
Mathang mh[100];
int stt;
public :
void nhap();
void hien();
void ghitephd(char *ttep);
void ghitephan(char *ttep);
void ghitepkh(char *ttep);
void doctephd(char *ttep);
void timkiemmh(char *ttep);
void thongkehangban();
};
//============XAY DUNG CAC PHUONG THUC CUA LOP CO SO KHACH HANG==============//
void Khachhang::nhap()
{ cout<<"\nNhap ten khach hang :"<<setw(5); cin.ignore(1); cin.get(Tenkh,30);
cout<<"\nNhap dia chi khach hang :"<<setw(5); cin.ignore(1); cin.get(Diachi,30);
cout<<"\nNhap so dien thoai khach hang :"<<setw(5); cin.ignore(1); cin.get(sdt,11);
}
//============XAY DUNG CAC PHUONG THUC CUA LOP CO SO MAT HANG================//
void Mathang::nhap()
{ cout<<"\n +>Nhap ten mat hang : "<<setw(5);cin.ignore(1); cin.get(Tenmh,30);
cout<<"\n +>Nhap so luong : "<<setw(5); cin>>sl;
cout<<"\n +>Gia ban : "<<setw(5); cin>>Gia;
Thanhtien=sl*Gia;
}
//---------------------------------------------------------------------//
void Mathang::hien()
{ cout<<endl<<endl<<endl<<setw(7)<<Tenmh<<setw(22)<<sl<<setw(20)<<Gia<<setw(23)<<Thanhtien;
}
//===========XAY DUNG CAC PHUONG THUC CUA LOP DAN XUAT HOA DON==============//
void Hoadon::nhap()
{ Tong = 0;
cout<<"\nNhap ma hoa don :"<<setw(5); cin.ignore(1); cin.get(Mahd,5);
kh.nhap();
cout<<"\nNhap so loai mat hang mua: "<<setw(5);
cin>>smh;
for(int i=0;i<smh;i++)
{ cout<<"\nMat hang thu :"<<setw(5)<<i+1;
mh[i].nhap();
Tong = Tong + mh[i].getThanhtien();
}
}
//----------------------------------------------------------------------//
void Hoadon::hien()
{ cout<<"\n\nTEN KHACH HANG :"<<setw(5)<<kh.getTenkh();
cout<<"\n\n"<<setw(12)<<"TENMATHANG"<<setw(18)<<"SL"<<setw(26)<<"DONGIA/CHIEC"<<setw(17)<<"THANHTIEN";
for(int i=0;i<smh;i++)
{ mh[i].hien();
}
cout<<"\n\n\n\n\n"<<setw(50)<<"TONG :"<<setw(22)<<Tong;
}
//----------------------------------------------------------------------//
void Hoadon::ghitephd(char *ttep)
{ //CACH GHI FILE SU DUNG HAM TAO1 KHONG DOI
ofstream f; //DUNG HAM TAO XAY DONG XUAT
f.open(ttep,ios::out|ios::app); //DUNG PHUONG THUC OPEN DE MO MOT TEP GAN CHO DONG XUAT
if(f.bad())
{ cout<<"\nTep"<<setw(5)<<ttep<<" da ton tai!";
getch();
return;
}
f<<setprecision(1)<<setiosflags(ios::showpoint);
cout<<endl<<setw(5);
f<<Mahd;
f<<endl<<setw(5)<<kh.getTenkh();
for(int i= 0;i<smh;i++)
{ f<<endl<<setw(5)<<mh[i].getTenmh();
f<<endl<<setw(5)<<mh[i].getsl();
f<<endl<<setw(5)<<mh[i].getGia();
f<<endl<<setw(5)<<mh[i].getThanhtien();
}
f.close();
}
//----------------------------------------------------------------------//
void Hoadon::ghitepkh(char *ttep)
{ ofstream f;
f.open(ttep,ios::out|ios::app);
if(f.bad())
{ cout<<"\nTep"<<setw(5)<<ttep<<" da ton tai!";
getch();
return;
}
f<<setprecision(1)<<setiosflags(ios::showpoint);
f<<endl<<setw(5)<<Mahd;
f<<endl<<setw(5)<<kh.getTenkh();
f<<endl<<setw(5)<<kh.getDiachi();
f<<endl<<setw(5)<<kh.getsdt();
f.close();
}
//-----------------------------------------------------------------------//
void Hoadon::doctephd(char *ttep)
{ Hoadon c;
ifstream f;
f.open(ttep,ios::in);
if(f.bad())
{ cout<<"\nTep "<<ttep<<" khong ton tai!";
getch();
exit(1);
}
int i=0;
while(f.getline(mh[i].getTenmh(),30)!=0)
{
f>>mh[i].getsl();
f>>mh[i].getGia();
f>>mh[i].getThanhtien();
f.ignore();
i++;
}
stt=i;
f.close();
}
//--------------------------------------------------------------------//
void Hoadon::thongkehangban()
{ cout<<endl<<endl<<setw(45)<<"\nDanh sach cac mat hang ban duoc:";
cout<<endl<<endl<<setw(5)<<"STT"<<setw(25)<<"TENMATHANG"<<setw(10)<<"SL"<<setw(15)<<"DONGIA/CHIEC"<<setw(15)<<"THANHTIEN"<<endl;
for(int i=0;i<stt;i++)
{ cout<<endl<<setw(5)<<i+1<<setw(25)<<mh[i].getTenmh()<<setw(10)<<mh[i].getsl()<<setw(15)<<mh[i].getGia()<<setw(15)<<mh[i].getThanhtien();
}
}
//---------------------------------------------------------------------//
void Hoadon::timkiemmh(char *ttep)
{ char Tenhang[30];
ifstream f;
f.open(ttep,ios::in);
if(f.bad())
{ cout<<"\nTep "<<ttep<<"khong ton tai!";
getch();
exit(1);
}
cout<<"\nNhap ten mat hang can thong ke : "<<endl<<endl;
cin.ignore();
cin.getline(Tenhang,30);
cout<<"\n\n"<<setw(12)<<"TENMATHANG"<<setw(18)<<"SL"<<setw(26)<<"DONGIA/CHIEC"<<setw(17)<<"THANHTIEN";
for(int i=0;i<smh;i++)
if(strcmp(Tenhang,mh[i].getTenmh())==0)
{ cout<<endl<<endl<<setw(5)<<i+1<<mh[i].getTenmh()<<mh[i].getsl()<<setw(26)<<mh[i].getGia()<<setw(17)<<mh[i].getThanhtien();
}
f.close();
}
//===========XAY DUNG HAM MAIN CUA CHUONG TRINH QUAN LY BAN HANG============//
void main()
{ clrscr();
Hoadon a;
int chucnang;
do
{cout<<"\n________________CHUONG___TRINH___QUAN___LY___BAN ___HANG____________";
cout<<endl<<endl<<endl;
cout<<"\n 1.Lap______hoa______don"<<endl;
cout<<"\n 2.Hien_____hoa______don"<<endl;
cout<<"\n 3.Thong__ke mat__hang__da__ban"<<endl;
cout<<"\n 4.Thong___theo__ten___mat__da___ban"<<endl;
cout<<"\n 0.Ket______thuc_____qua_____trinh"<<endl;
cout<<"\n .Lua_____chon_____thao____tac : ";
cin>>chucnang;
switch(chucnang)
{
case 1:
a.nhap();
getch();
a.ghitephd("d:\HOADON.txt");
a.ghitepkh("d:\KHACHHANG.txt");
clrscr();
break;
case 2:
a.hien();
getch();
clrscr();
break;
case 3:
a.doctephd("d:\HOADON.txt");
a.timkiemmh("d:\HOADON.txt");
getch();
clrscr();
break;

case 4:
a.doctephd("d:\HOADON.txt");
a.thongkehangban();
getch();
clrscr();
break;

}
}while(chucnang!=0);
getch();
}
//================================================== =============//
Con neu em chuyen sang su dung thua ke :
voi
+>HOADON Thua ke MATHANG
+HOADON thua ke KHACHHANG thi lai mac loi sau:
HOADON.nhap();( khach hang,nhap mh thu i,ma hoa don)
HOADON.hien(); (khachhang,hien mathang)
thi phan nhan dc nnhunng hien ra cai linh tinh gi do
em nghi la do phan hoa don nhap em dinh nghia 1 Hoadon c;
con hoadon hien em dinh nghia mot doi tuong Hoadon c;
Hai doi tuong nay khac nhau tren cac phuong thuc khac nhau thua ke nen nhap dc va hok hien dc"
//================================================== ====//

#include <conio.h>
#include <iostream.h>
#include <iomanip.h>
#include <math.h>
#include <string.h>

//================================================== =========================//
class Khachhang
{ private :
char Tenkh[30];
char Diachi[30];
char sdt[11];
public :
Khachhang()
{ strcpy(Tenkh,"");
strcpy(Diachi,"");
strcpy(sdt,"");
}
Khachhang::Khachhang(char *Tenkh1,char *Diachi1,char *sdt1)
{ strcpy(Tenkh,Tenkh1);
strcpy(Diachi,Diachi1);
strcpy(sdt,sdt1);
}
void nhap();
char *layten()
{ return Tenkh;
}
};
//================================================== =========================//
class Mathang
{ private :
char Mamh[5];
char Tenmh[30];
int sl;
float Gia;
float Tong;
public :
Mathang::Mathang()
{ strcpy(Tenmh,"");
sl=0;
Gia=0;
Tong=0;
}
Mathang::Mathang(char *Tenmh1,int sl1,float Gia1,float Tong1)
{ strcpy(Tenmh,Tenmh1);
sl=sl1;
Gia=Gia1;
Tong=Tong1;
}
void nhap();
void hien();

};
//================================================== =========================//
class Hoadon : public Khachhang, public Mathang
{ private :
char Mahd[5];
int soloaimh;
public :
Hoadon::Hoadon() : Khachhang(),Mathang()
{ strcpy(Mahd,"");
soloaimh = 0;
}
Hoadon::Hoadon(char *Mahd1,int soloaimh1,char *Tenkh1,char *Diachi1,char *sdt1,char *Tenmh1,int sl1,float Gia1,float Tong1):Khachhang(Tenkh1,Diachi1,sdt1),Mathang(Tenm h1,sl1,Gia1,Tong1)
{ strcpy(Mahd,Mahd1);
soloaimh = soloaimh1;
}
void nhap();
void hien();
};
//============XAY DUNG CAC PHUONG THUC CUA LOP CO SO KHACH HANG==============//
void Khachhang::nhap()
{ cout<<"\nNhap ten khach hang :"<<setw(5); cin.ignore(1); cin.get(Tenkh,30);
cout<<"\nNhap dia chi khach hang :"<<setw(5); cin.ignore(1); cin.get(Diachi,30);
cout<<"\nNhap so dien thoai khach hang :"<<setw(5); cin.ignore(1); cin.get(sdt,11);
}
//============XAY DUNG CAC PHUONG THUC CUA LOP CO SO MAT HANG================//
void Mathang::nhap()
{ cout<<"\n +>Nhap ten mat hang : "<<setw(5);cin.ignore(1); cin.get(Tenmh,30);
cout<<"\n +>Nhap so luong : "<<setw(5); cin>>sl;
cout<<"\n +>Gia ban : "<<setw(5); cin>>Gia;
Tong=sl*Gia;
}
//---------------------------------------------------------------------//
void Mathang::hien()
{ cout<<endl<<endl<<endl<<Mamh<<setw(7)<<Tenmh<<setw(20)<<sl<<setw(20)<<Gia<<setw(15)<<Tong;
}
//===========XAY DUNG CAC PHUONG THUC CUA LOP DAN XUAT HOA DON==============//
void Hoadon::nhap()
{ cout<<"\nNhap ma hoa don :"<<setw(5); cin.ignore(1); cin.get(Mahd,5);
Hoadon c;
c.Khachhang::nhap();
cout<<"\nNhap so loai mat hang mua: "<<setw(5);
cin>>soloaimh;
for(int i=0;i<soloaimh;i++)
{ cout<<"\nMat hang thu : "<<setw(5)<< i+1;
c.Mathang::nhap();
}
}
//----------------------------------------------------------------------//
void Hoadon::hien()
{ Hoadon c;
cout<<c.Khachhang::layten();
cout<<endl<<endl<<endl<<"MA MH"<<setw(7)<<"TEN MH"<<setw(20)<<"SO LUONG"<<setw(20)<<"DONGIA/CHIEC"<<setw(15)<<"THANH TIEN"<<endl<<endl;
for(int i=0;i<soloaimh;i++)
{ c.Mathang::hien();
}
}
//===========XAY DUNG HAM MAIN CUA CHUONG TRINH QUAN LY BAN HANG============//

void main()
{ clrscr();
Hoadon p;
p.nhap();
p.hien();
getch();
}
//================================================== ====//
MONG CAC ANH CHI SUA GIUM EM THEO HUUONG THUA KE ah
EM CAM ON ANH CHI NHIEU....

[=========> Bổ sung bài viết <=========]

Cac ban hoc C++ ui,giup minh mot chut di..thanks cac ban nhiu..
Nguyen linh linh