下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C+程序设计上机实验题目:假设某商店有如下几种货品:衬衣、帽子、立柜。每一种货物都有与其关联的说明信息。衬衣:单价、产地、库存量、布料;帽子:单价、产地、库存量、布料、样式(平顶或尖顶);立柜:单价、产地、库存量、木料、颜色。对这些商品的操作有:商品的进库(增加库存量),商品的出库(减少库存量),该类货 品总价格的计算。要求自行设计数据结构,用类的继承与派生关系将上述的各种货品表示出来,并使用类的构造函数来初始化每一类对象的初始数据。而后将上述的商品管理计算机化,完成操作要 求的功能。【实现方法提示】设立3个不同的类来描述与处理3种不同的货品。首先注意到上述3种货品数据之间的相互关联关系,可使
2、用C+基类及其派生类的定义方法,先抽象出(“提取”出)如下每一货品都具有的“公有”数据构成一个所谓的基类base,而后再派生出所需的那3个类。base (基)类:单价、产地、库存量;由base作为基类,派生出shirt (衬衣)类:增加“布料”数据;由base出发,派生出wardrobe (立柜)类:增加“木料”与“颜色”数据;而后又由shirt类出发(作为基类),派生出cap (帽子)类:增加“样式”数据。对应于要对各类数据所进行的操作,而设立出类的如下几个成员函数。构造函数通过传递来的实参数据,来构造出每一对象所具有的各数据成员。如基类base需要传递place、count与price三项
3、数据,而派生类shirt则需在base数据的基础上增加第四项 即布料数据material等。商品的进库(增加库存量)voidin_something(intadd_cnt);将对象的库存量count增加一个数量add_cnt。商品的出库(减少库存量)voidout_something(intdel_cnt);将对象的库存量count减少一个数量del_cnt。该类货品总价格的计算doubletotal_price();通过使用“price*count”计算并返回对象所代表货品的总价格。对象数据的输出。在屏幕上显示出对象所拥有的当前数据。1.入功能中需要判断现在输入与以前输入的是否相同若相同则叠
4、加库存量在(1)的基础上判断单价是否冲突若冲突则要求重新录入功能部分要求自由度并设立查询功能程序如下:#include #includeusingnamespacestd;classbase(protected:floatprice;束1.衬衣2.帽子3.立柜4,查询5.入库6.出库7.出错重输if(a=0”)return0;rint();for(i=0;ici;i+)c_i.print();for(i=0;iwi;i+)w_i.print();for(i=0;i5;i+)total+=total_count(c_i,s_i,w_i);ptotal+=(s_i.total_price()+c_
5、i.total_price()+w_i.total_price();stotal+=s_i.total_price();ctotal+=c_i.total_price();wtotal+=w_i.total_price();totalcap+=c_i.r_count();totalshi+=s_i.r_count();totalwar+=w_i.r_count();coutn 衬衣总库存:totalshit 价值:stotaln 帽子总库存:totalcapt 价值: ctotaln 立柜总库存:totalwart 价值:vvwtotalvvn 所有商品库存总量:totalj;if(si=0)
6、cout无商品vvendl;elsewhile(j=si)coutvj;coutvv”入库数量:;cincou_temp;s_j.in_something(cou_temp);if(cho=2)for(i=0;ici;i+)coutn 编号it 产地pla_capit 布料:vvc_mati vv”样式:vvstyivvt 现有c_i.r_count();if(ci0)cout无商品endl;elsecoutn输入商品编号:;cinj;while。vOlljxci)cout有误重新输入:;cinj;coutvv”入库数量:;cincou_temp;c_j.in_something(cou_te
7、mp);if(cho=3)for(i=0;iwi;i+)coutn 编号it 产地pla_warit 木料:vvwooi vv”颜色:” vvcolivv”t 现有w_i.r_count();if(ci0)cout无商品endl;elsecoutn输入商品编号:;cinj;while。vOlljxwi) cout有误重新输入:”;cinj;coutvv”入库数量:;cincou_temp;w_j .in_something(cou_temp);if(cho=7)cout有误重新”;cho=5;if(cho=6) _count();coutj;while(j=si)(coutj; coutcou_temp;s_j.out_something(cou_temp);if(cho=2)for(i=0;ici;i+)coutn 编程it 产地pla_capit 布料:c_mati样式:styi”t 现有c_i.r_count();coutj;while(j=ci)coutj;coutcou_temp;c_j.out_something(cou_temp);if(cho=3)for(i=0;iwi;i+)coutn 编程it 产地pla_warit 木料:wooi颜色:coli”t 现有w_i.r_count();coutj;while
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论