Đây là code của chương trình
#pragma once
#include<iostream>
using namespace std;
class phieu
{
private:
int sp;
int tkno,tkco;
char htn[30];
char htg[30];
int ngay,thang;
unsigned nam;
public:
virtual void nhap()
{
cout<<"\n Nhap so phieu: "; cin>>sp;
cout<<"\n Nhap ngay lap: ";
cin>>ngay;
cin>>thang;
cin>>nam;
cout<<"\n Nhap tk no: "; cin>>tkno;
cout<<"\n Nhap tk co: "; cin>>tkco;
}
virtual void in()
{
cout<<"\n So phieu: "<<sp;
cout<<"\n Ngay lap: "<<ngay;
cout<<"\n Thang lap: "<<thang;
cout<<"\n Nam lap: "<<nam;
}
int set_ngay()
{
return ngay;
};
int set_thang()
{
return thang;
};
unsigned set_nam()
{
return nam;
};
int kiemtra()
{
return 0;
};
float tong()
{
return 0;
}
virtual char* set_htg( )
{
return htg;
}
phieu(void);
~phieu(void);
};
class phieunhap:public phieu
{
char nhapkho[10];
char ddiem[30];
float st;
char htn[30];
public:
void nhap()
{
phieu::nhap();
cout<<"\n Nhap ho ten nguoi nhan: ";
cin.ignore(1);
cin.getline(htn,30);
cout<<"\n Nhap tai kho: ";
cin.getline(nhapkho,10);
cout<<"\n Nhap ddia diem: ";
cin.getline(ddiem,30);
cout<<"\n Nhap so tien: ";
cin>>st;
}
void in()
{
phieu::in();
cout<<"\n Ho ten nguoi giao: "<<htn;
cout<<"\n Nhap tai kho: "<<nhapkho;
cout<<"\n Dia diem: "<<ddiem;
cout<<"\n So tien: "<<st;
}
int kiemtra()
{
return 2;
}
float tong()
{
return st;
}
phieunhap(void);
~phieunhap(void);
};
class phieuchi:public phieu
{
char dc[40];
char lido[100];
char htg[30];
float st;
public:
void nhap()
{
phieu::nhap();
cout<<"\n Nhap ho ten nguoi nhan:";
cin.ignore(1);
cin.getline(htg,30);
cout<<"\n Nhap dia chi:"; cin.getline(dc,40);
cout<<"\n Nhap ly do:"; cin.getline(lido,100);
cout<<"\n Nhap so tien: ";cin>>st;
}
void in()
{
phieu::in();
cout<<"\n Ho ten nguoi nhan:"<<htg;
cout<<"\n Dia chi:"<<dc;
cout<<"\n Ly do:"<<lido;
cout<<"\n So tien: "<<st;
}
int kiemtra()
{
return 1;
}
float tong()
{
return st;
}
phieuchi(void);
~phieuchi(void);
};
//hàm chính
int main()
{
phieu *ds[20];
int n,c,i, thoat=1;
do{
cout<<"\n Hay nhap:------------------------";
cout<<"\n1. Nhap danh sach !";
cout<<"\n2. In danh sach phieu chi !";
cout<<"\n3. In danh sach phieu nhap !";
cout<<"\n4. In ra danh sach phieu chi quy 1 !";
cout<<"\n5. In ra danh sach phieu chi quy 2 !";
cout<<"\n6. Tim kiem nguoi giao hang Nguyen Van A !";
cout<<"\n7. Thoat !";
cin>>c;
c=getchar();
switch(c)
{
case '1': cout<<"\n So phieu trong danh sach: ";cin>>n;
for(i=1;i<n;i++)
{
cout<<"\n1. Nhap phieu chi !";
cout<<"\n2. Nhap phieu nhap !";
int k;
cin>>k;
if(k==1) ds[i]=new phieuchi;
else ds[i]=new phieunhap;
ds[i]->nhap();
}
break;
case '2': cout<<" In danh sach phieu chi !";
for(i=1;i<n;i++)
{
if(ds[i]->kiemtra()==1) ds[i]->in();
}
break;
case '3': cout<<" In danh sach phieu chi !";
for(i=1;i<n;i++)
{
if(ds[i]->kiemtra()==2) ds[i]->in();
}
break;
case '4': cout<<" In danh sach phieu chi Qúy1 !";
for(i=1;i<n;i++)
{
if((ds[i]->kiemtra()==1)&&( ds[i]->set_thang()==1)&&(ds[i]->set_thang()<5)&&(ds[i]->set_nam()==2015)&&(ds[i]->tong()>10000000))
ds[i]->in();
}
break;
case '5': cout<<" In danh sach phieu chi Qúy2 !";
for(i=1;i<n;i++)
{
if((ds[i]->kiemtra()==1)&&( ds[i]->set_thang()==6)&&(ds[i]->set_thang()<9)&&(ds[i]->set_nam()==2015))
ds[i]->in();
}
break;
case'6': cout<<" Tim kiem nguoi giao hang Nguyen van A: ";
for(i=0;i<n;i++)
{
if((ds[i]->kiemtra()==2)&&strcmp(ds[i]->set_htg(),"nguyen van A")==0)
ds[i]->in();
}
break;
case '7': thoat=0;
break;
default:cout<<"\n Nhap sai. Xin nhap lai !";
system("pause");
}
}while(thoat!=1);
system("pause");
return 0;
}
: Anh xem giúp em:
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?