公司库存管理系统

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

#ifndefHEAD_HPP#defineHEAD_HPP#includeiostream#includeiomanip#includestring.husingnamespacestd;classJIADIAN{protected:intab;//ab=1代表电视机ab=2代表DVDab=3代表DVDTVchar*pingming;//声明品名字符串char*yanse;//声明颜色字符串intxinghao;//声明型号的大小char*changjia;//声明厂家字符串intvalue;//声明价格public:JIADIAN(char*,char*,int,char*,int);//基类构造函数~JIADIAN();//基类析构函数virtualvoidprint();//定义打印虚函数intgetkind();//定义取种类函数char*getpingming();//定义取品名指针函数JIADIANoperator=(JIADIAN&);//声明=号赋值重载运算函数};classTV:publicJIADIAN{//电视机类公有继承基类public:TV(char*,char*,int,char*,int);//电视机类构造函数~TV();//电视机类析构函数voidprint();//打印函数};classDVD:publicJIADIAN{//DVD类public:DVD(char*,char*,int,char*,int);//DVD类构造函数~DVD();//DVD类析构函数voidprint();//打印函数};classDVDTV:publicJIADIAN{//带有DVD的电视机类public:DVDTV(char*,char*,int,char*,int);//带有DVD类的电视机类构造函数~DVDTV();//带有DVD类的电视机类析构函数voidprint();//打印函数};#endif#includetou.h//把头文件包含进来JIADIAN::JIADIAN(char*PINGMING=NULL,char*YANSE=NULL,intXINGHAO=20,char*CHANGJIA=NULL,intVALUE=2000)//家电类的构造函数,初始化参数{pingming=newchar[20];//创建品名的字符长度不超过20个strcpy(pingming,PINGMING);//把输入的品名输入到内存中yanse=newchar[20];//创建颜色的字符长度不超过20个strcpy(yanse,YANSE);//把输入的颜色字符串输入xinghao=XINGHAO;//把输入的型号字符输入到内存中changjia=newchar[20];//创建厂家的字符长度不超过20个字符strcpy(changjia,CHANGJIA);//输入的厂家字符输入到内存中value=VALUE;return;}JIADIAN::~JIADIAN()//家电类的析构函数{deletepingming;//分别释放输入的品名、颜色、厂家的内存单元deleteyanse;deletechangjia;return;}char*JIADIAN::getpingming()//定义基类的取品名函数{returnpingming;}intJIADIAN::getkind()//定义基类的getkind函数{returnab;}JIADIANJIADIAN::operator=(JIADIAN&jiadian)//定义基类的=号赋值重载运算函数{this-ab=jiadian.ab;strcpy(this-pingming,jiadian.pingming);strcpy(this-pingming,jiadian.yanse);this-xinghao=jiadian.xinghao;strcpy(this-pingming,jiadian.changjia);this-value=jiadian.value;return*this;}voidJIADIAN::print(){return;}TV::TV(char*PINGMING=NULL,char*YANSE=NULL,intXINGHAO=20,char*CHANGJIA=NULL,intVALUE=1000)://定义电视机类的构造函数,假定电视机类的价格是1000元JIADIAN(PINGMING,YANSE,XINGHAO,CHANGJIA,VALUE){ab=1;return;}TV::~TV()//定义电视机类的析构函数{return;}voidTV::print()//定义电视机类的打印函数{cout1TVpingmingyansexinghaochangjiavalueendl;}DVD::DVD(char*PINGMING=NULL,char*YANSE=NULL,intXINGHAO=20,char*CHANGJIA=NULL,intVALUE=1000)://定义DVD类的构造函数JIADIAN(PINGMING,YANSE,XINGHAO,CHANGJIA,VALUE){ab=2;return;}DVD::~DVD()//定义DVD类的析构函数{return;}voidDVD::print()//定义DVD类的打印函数{cout2DVDpingmingyansexinghaochangjiavalueendl;}DVDTV::DVDTV(char*PINGMING=NULL,char*YANSE=NULL,intXINGHAO=20,char*CHANGJIA=NULL,intVALUE=1600)://定义带有DVD类的电视机类的构造函数JIADIAN(PINGMING,YANSE,XINGHAO,CHANGJIA,VALUE){return;}DVDTV::~DVDTV()//定义带有DVD的电视机类的析构函数{return;}voidDVDTV::print()//定义带有DVD的电视机类的打印函数{cout3DVDTVpingmingyansexinghaochangjiavalueendl;}#includetou.hintmain(){JIADIAN*scores[10000];//库存的最大容量设定为10000charpm[20];//品名的最大字符串长度charys[20];//颜色的最大字符串长度intxh;//型号为整型变量charcj[20];//厂家的最大字符串长度inti,j,n,a=0;//n为要选择的123当中的一个,初始化为0,i、j为循环变量a=0正常进行功能,a=1输出break前的那个语句。staticintk=0;//k静态全局变量,为库存量,初始化为0cout********欢迎进入本公司库存管理系统****************endl;cout*****请选择:123当中的一个*****endl***1为查找功能2为增加功能3为删除功能***endl;while(cinn&&(n!=7))//输入123的功能实现按7键退出的功能{switch(n){case1://实现按品名进行查找、显示功能cout请输入要查找的品名:;cinpm;for(i=0;ik;i++)//对库存内的产品进行循环查找{if(strcmp(pm,scores[i]-getpingming())==0)//如果查到所要查找的品名{scores[i]-print();a=1;}//打印该种品名的相关信息}if(a){a=0;}elsecout查找不到您所需要的结果!;break;case2://实现按品名进行增加功能cout请再次选择所要增加的产品代号1TV;2DVD;3DVDTVendl;cout请输入要增加的品名代号:;cinn;cout请输入要增加的该产品的品名、颜色、型号、厂家:endl;switch(n){case1://增加TVcinpmysxhcj;scores[k++]=newTV(pm,ys,xh,cj,1500);break;case2://增加DVDcinpmysxhcj;scores[k++]=newDVD(pm,ys,xh,cj,500);break;case3://增加DVDTVcinpmysxhcj;scores[k++]=newDVDTV(pm,ys,xh,cj,1600);break;default:cout不能把这种品名加入本库存中endl;break;}cout增加后的成员如下:endl;for(i=0;ik;i++)scores[i]-print();break;case3://实现按品名进行删除功能cout请输入要删除的产品的代号:endl;cout1TV;2DVD;3DVDTVendl;cinn;cout请输入要删除的品名:;switch(n){case1:cinpm;for(i=0;ik;i++){if(scores[i]-getkind()==1&&strcmp(pm,scores[i]-getpingming())==0){for(j=i;jk-1;j++)scores[j]=scores[j+1];k--;}}break;case2:cinpm;for(i=0;ik;i++){if(scores[i]-getkind()==2&&strcmp(scores[i]-getpingming(),pm)==0){for(j=i;jk-1;j++)scores[j]=scores[j+1];k--;}}break;case3:cinpm;for(i=0;ik-1;i++){if(scores[i]-getkind()==3&&strcmp(scores[i]-getpingming(),pm)==0){for(intj=i;jk-1;j++)scores[j]=scores[j+1];k--;}}break;default:break;}cout删除后的剩余成员如下:endl;for(i=0;ik;i++)scores[i]-print();break;default:break;}cout需要退出请按7键或者继续操作.endl;}//system(pause);return0;}

1 / 6
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功