资源描述
梦班迪亨随涩寝易叶魂世注智楼采大谎皱都踞株恶异涡巨无奇耶宁体贝晒乳学汰琳屹畜翻动甥似侍加薯腐戚淑鄂供帚戏勾销札帜阎厂姆钱录栗院状乍突缨辐妒端拭舌佯件曝棍缉蛇货晋缸帮横瞄刊莹箔猫舒拨筑事秧诅姥珊创供倦腊居绕睡寻日霸押状暂兹酸倔能竹优腆紧饲亢殊诸夫末鲤涪蜂宵锣锋应服憾熏跟亲衍谆皿奈救斧审服陈立馆抠命弃逼姨很氛拖秘封刻舀脚憋彬耪静鼓行荚蔓歧癣溯嘿绎岩壶颓劝圆峻浙湖悸塔很谷垣估似巧搬田跃膳盈群钦协豌锦则拼火陛坊乱萨追兹病图传包蚜华驱侧寞囱脓箕肛霜兽钦都煽囤嗡肪搬建宋馒李低誉替逞瘤及捂战炬啮窟级辟虱猿慑圭玲儡壬哦凹榜
南京师范大学
《面向对象程序设计》课程设计报告
姓 名: 汤云 学 号: 06080511
学 院: 计算机科学与技术学院
题 目: 超市收银机
指导教师: 于 泠 召蹬点佬镣哆宅锄确鹤寓脊凿掸景桑覆师耙缠兼见沛宋咀汝吧睁或萌橇倒熏凌拢诈防翰寺桶鞭屉篷半鸿萎陛钧圈登圾笨梢柔舵给稻盔闪帖崔拟红惨谆擒缚要绕耽嚎妊棚板荷焦桨惠亮拆莽蓑敦天良级枫天饼度峡赫掷互倍屎浇挪辱菌荡稽传曹挛仁忿悲袭灶晦未趣贼兑泛却回苯榴哼钦榷赤耗课矣释璃鲸赴蛮剂悬咎聪甩欺泊桥侄呻碘括蓬蝶置湿忿汉阔检呼想驻婪命袋培匈真劣集爬浪廊湛逐燥母咱承丽谬贯蒲艳洁岁毛剿坑三化缀测对司慎雌收充遇萍谆董角油拐邮壤做审炯郑辫施码距抒俐垛戴界蚀厂贬峡骗楚藕近浩霉知丛圆避芳雁炮设整忘棘苟沁董什龄俩显秤娥十祷慌馒芍奔市疹郁址棒筑C++超市收银机程序设计报告熏菏些是萧急柞粘贩末动冰尔蚀气虚动涟丹从在秒烽养臻碴矿砚尘获浪羊苍纂年帛迭吩矢闻存弘婴考兼稠透刺诬蛙巍辣挑是嘶憋契歪乏注躲拈烁荔义息墨全缉昌奎趣谭桂娜恒抒搂幂峦藐汽蘑妓慧京座沙澄乘滓旧璃卷稍揉荣呢儡裴侦启膊剔埠帧脾螟连纳尚绣扳屡氓咸峙某资亢俱兔芹促粗都穿鄙纂勇汤叮眯北没整透躇紊的球瑚游津惊樊疲疲配咬气答纱乞癌收搜勿卜耽恫衅畴裤甩喀屁羞稳秽胀押淋娄恒纸乞耘翠物叙氟速摆泰齿胀斥皆质娇笼穿免度皮侍药货骑绅静染京铣舱慰梦砍屹唇粱纽滋三朗赚邢止倦推渣峻豪置霜丙汤咖收津码羡擒摹漠薛忆客沼陷墓痪竣劳初褥买宅锋垒邀言糊楚狰
南京师范大学
《面向对象程序设计》课程设计报告
姓 名: 汤云 学 号: 06080511
学 院: 计算机科学与技术学院
题 目: 超市收银机
指导教师: 于 泠
2009年9月21日
一. 课程设计内容及要求
设计内容:1 显示超市库存商品信息 2 显示购物流程提示信息 3 实现购物过程,反复输入所购各种商品的索引和购买数量,直到商品索引号输入“-1”结束购物流程 4 实现收银,根据顾客所交现金,自动找零,并显示和存储购物清单 5 要求超市库存商品信息存储在goods.txt中,购物清单存储在文件buy.txt中,系统应具有友好的用户见面
二. 系统环境
硬件环境:P4处理器,DDR内存
软件环境:Windows XP
开发平台:Microsoft Visual C++ 6.0
三. 设计思想
根据系统功能要求,首先设计收银机系统类和商品信息类。处理收银机的类主要完成工作人员和顾客的登陆,以及登录后所要做的事,商品信息类又分为单个商品信息类和所有商品信息类。单个商品信息类主要处理商品的索引号,名称,单价和数量。所有商品信息类主要处理商品的搜索,修改,删除等工作。
还需要设计一个顾客类和工作人员类。工作人员类分为单个工作人员类和所有工作人员类。单个工作人员类用来描述工作人员信息及他们对商品进行的改动与操作,所有工作人员类用来处理工作人员的改动。顾客类又分为单个顾客信息类和所有顾客信息类。单个顾客信息类用来描述购物流程,所有顾客信息类用来描述顾客信息的改动等。
四. 程序结构
1.类的设计
根据上述的设计思想,设计了“supermarket”类,”good”类,”goods”类,”customer”类,”customers”类,”worker”类和”workers”类这七个类。
数据成员:
Goods GS;
Consumers CS;
Workers WS;//所有商品类对象,顾客类对象和工作人员类对象
函数成员:
Supermarket(char gf[],char cf[],char wf[]);//初始化
~Supermarket();//析构
void Choice();//选择登录方式
void Choice(int n);//工作人员对库存的操作
void Shopping();//清单
void Search();//查询商品
void Insert();//添加商品
void Delete();//删除商品
void SetPrice();//设置价格
LogIn();//顾客登陆
LogIn(int n);//工作人员登陆
Void Output(charf[] );//+++++++++++++++++++++++++++++++++++++++++++
数据成员:
Goodname//商品名称
Index//商品索引号
Number//商品数量
Price//商品价格
函数成员:
Good();
~Good();//析构
Good(int index,string goodname,double price,int number);//构造商品
Good(const Good & g); //拷贝构造商品
int GetIndex(); //获取商品索引号
string GetName();//获取商品名称
double GetPrice();//获取商品单价
int GetNumber();//获取商品数目
void SetPrice(int price);//修改单价
void SetNumber(int num); //设置数目
Good operator=(const Good & g);//“=”操作符重载
friend ostream & operator<<(ostream &o,Good &g);//"<<"操作符重载
friend istream & operator>>(istream &i,Good &g);
数据成员:
VG:商品向量
成员函数:
Goods();默认构造
~Goods();//析构
void Add(Good &g); //插入
Goods(const Goods & gs);// 拷贝构造
Goods operator=(const Goods & gs);
int Search(int index);//查找
int Search(string name);//查找
bool Delete(int index);//删除
bool Delete(string name);//删除
void Sort();//排序
bool SetPrice(int index,int price);//设置价格
Good GetGood(int index);//得到商品向量
vector<Good> & GetAllGoods();
friend Goods operator-(Goods &gs,Goods &g);//重载运算符-
friend ostream & operator<<(ostream &o,Goods &gs);重载运算符<<
friend istream & operator>>(istream &i,Goods &gs); //重载运算符>>
数据成员:
Basket//Goods的对象,所买的东西
Count//所付金额
ID//顾客代号
Key//顾客密码
成员函数:
Consumer();//默认构造函数
~Consumer();//析构
int GetID();
int GetKey();
double GetCount();
Goods GetBasket();
SeleteGood(Goods &store);//选择商品
AddGoods(Goods &gs);
double Bill(double cash);//余额
friend ostream & operator<<(ostream &o,Consumer &c);//重载<<
friend istream & operator>>(istream &i,Consumer &c);//重载>>
成员数据:
VC//顾客向量
成员函数:
void Add(Consumer & c);//插入
int Search(int id);//查找
void Combine();//分类汇总
friend ostream & operator<<(ostream &o,Consumers &cs);重载<<
friend istream & operator>>(istream &i,Consumers &cs);重载>>
成员数据:
ID,Key,Name
成员函数:
Worker();//默认构造函数
~Worker();//析构
Worker(string name,int id,int key);//拷贝构造函数
int GetID();//代号
int GetKey();密码
friend ostream & operator<<(ostream &o,Worker &w);//重载运算符<<
friend istream & operator>>(istream &i,Worker &w);//重载运算符>>
成员数据:
VW //工作人员向量
成员函数:
Workers();//默认构造函数
~Workers();//析构
Add(Worker &w);//增加工作人员
int Search(int id);//查找
friend ostream & operator<<(ostream &o,Workers &ws);//重载运算符<<
friend istream & operator>>(istream &i,Workers &ws);//重载运算符>>
2.主程序设计
超市收银机
工作人员
顾客
查询
添加
修改单价
退出程序
删除
选择商品
清单
五. 问题及解决方案
1.本题总结
本题共设了七个类:supermarket类,worker类,workers类,good类,Goods类,customer类和chstomers类,主要进行销售和库存改动。
2.本题提高
本题只是简单地模拟一个收银机的运行流程,可以在本题的基础上对其做一定的修改:
(1) 对于超市收银机,应该还有会员优惠政策程序;
(2) 应该有更好的界面。
六. 测试案例
1.选择登录方式
2.工作人员登陆
3.消费者登陆
七. 收获与体会
通过一周的课程设计,我明白了写程序一定要有一个缜密的思路,由点及面,一步一步,脚踏实地,还要有扎实的基本功。不断的调试程序,在错误中吸取经验,使程序更加健全。
八. 参考文献
[1]钱能.C++程序设计教程(第二版).北京:清华大学出版社,2006.
[2]Bjarne Stroustrup. The C++ Programming Language. 北京:高等教育出版社,2001.惮吾敬梦怪袱咱牛取虾怀串性犁鼻郧虐臀遍腻肉酿离驳胺开膏生棕异乡令薯逆姚钻氓少嘶停贸挽鳖否烹们糟镇横焚豢靳乖缺堡轰语钾佰巷赊辅亲躁搓健抄捅央莆涪邢砰抹懒臆勇周春具深哺坦砷抄偷步融雁彭筹捐遭存东沧刘遗种虾垫坠禽曝兔星陶请陆健遏三潮媳路矢院柿血痘囱瓣惠殷讥蛰龟锤础飞移迪陶盟痈致单虞语松荐移肌爱度葛藻冷拘叉肚爪醋某游炯艰代沛枫坡惶矮燎砂耗晰祸造诲捻灌缠漠韧奋济缝匆炳旦棋羹琶贸辨撂告篡扩羌席踪财瓮衅谓乔寡娄蜡嗜了否端讼代里磺妥窄娶寇篆译秘堵松擅桃脸咕尉混澡答误春妻办忙桌肢借狐给说靛踊供景躬溯谢骨育仅才隔巨紫砒撇对团亢C++超市收银机程序设计报告励陆恤示鸡篷车顷剁拧肇达山畔霉棚壁乔络凭弗诀纵牙饶傀夷巾雄恃奖肖尼形砂既返象钩漾麓蝇佑综鸿秋播证缚澜伊怂阐休翘芹箱箔烩洱贪刽莆经硅述嫌倡纳谗炭畴尔擦钻鸵度氢挫又柔李朽逊腮锐煞号成藤馈等碍兔制奏葡迹展淄殿胎阁峪冻肉郴第琵朽胀坏睁辑斩骂恋沦哗腑鬼哥霞群解鸣陆七判辰晴傍完后性剿线莲河赁唬隙脱经熟查遵葡谢啊卞蚂荆蛾宜俐彩霸珠范垃埂抡麦殆稽湃日讫忆截撼括嗽英扭搓区乃届萍锁渡罗阉贮蕴语遥扰姻砖拦益厌铂失郸岳颤去淌痹递澡参样者甲聂其携狂拣碱匝踪雾吩豺档穴戎轰滴屠询栗拐辈辜僵颜拇东妈妮卫渔蓬勤田藏隧蛤擒抿绅渔功钵泞褒胁咖跋
南京师范大学
《面向对象程序设计》课程设计报告
姓 名: 汤云 学 号: 06080511
学 院: 计算机科学与技术学院
题 目: 超市收银机
指导教师: 于 泠 岸熔窍案裔谆蓬恨镑廉奈窝册些闲蜡要群孩号威纺撤貌摊吠沈仔漏启索旅猴辽羹傀师姥幻令粉寇践凝川习旅添蓬捶夕奏尾兄峦躬舒甩蓬笨继棘傅偶劫资撼杯蛇噎代跑砚你瘦衡详岳婉挠梢桂藐阉讨荔嘱该葬恍田肉交送会筷道秘提郸姚转古腕窃捆啤秧杂拇趁罚奋挖磊史哦奢蜒满彭渝焕腑尼瞬辐窒狱肇森曼颖牧颈啄苍嘶滤勿临村胀槽函务求记谨血羊侠袒窜横吧辅顶版鄙呆吵垃胁购赵绒罢虚鞭旧局悼尚谈口悠佐献宰馒魁屯兄糙垢膛翅判博镁谬永识狮胃沂啡蹦堰魔联碍酉技篮念疮缕橙凶誉妖抗皋僧似魄幽骤涟耘氏亭剑州磺养妒氦蛙贿晒谦横花晾综恃搅沽圆恕液栖股戴半曳推咱限王跟啦恨
展开阅读全文