课程设计报告超市收银系统.docx
- 文档编号:11157421
- 上传时间:2023-05-29
- 格式:DOCX
- 页数:12
- 大小:64.66KB
课程设计报告超市收银系统.docx
《课程设计报告超市收银系统.docx》由会员分享,可在线阅读,更多相关《课程设计报告超市收银系统.docx(12页珍藏版)》请在冰点文库上搜索。
课程设计报告超市收银系统
南京师范大学
《面向对象程序设计》课程设计报告
学院:
计算机科学与技术学院
题目:
超市管理系统
指导教师:
2009年9月4日
目录
超市管理系统2
1.1报告内容2
2.1系统环境3
2.1.1硬件环境3
2.1.2软件环境3
3.1设计思想描述3
4.1类设计3
4.1.1.商品类设计3
4.1.2.商品集合类4
4.1.3.消费者类设计4
4.1.4.消费者集合类4
4.1.5.工作人员类设计5
4.1.6.工作人员集合类5
4.1.7.收银管理类设计5
4.1.8.用户类设计6
4.1.9.超市类设计6
5.1程序结构7
5.1.1主程序设计7
5.1.2流程图7
6.1设计中遇到的问题及解决方案8
6.1.1遇到的问题8
6.1.2解决方案8
7.1程序测试案例9
7.1.1第一步9
7.1.2第二步9
7.1.3第三步:
9
8.1收获与体会10
9.1参考文献10
超市管理系统
1.1报告内容
模拟超市购物过程,根据货物清单,选定所购货物种类和数量,实现收银结账。
设计内容:
(1)显示超市库存商品信息。
(2)显示购物流程提示信息。
(3)实现购物过程,反复输入所购各种商品的索引和购买数量,直到商品索引号输入”-1”结束购物流程。
(4)实现收银,根据顾客所交现金,自动找零,并显示和存储购物清单。
(5)要求超市库存商品信息存储在文件goods.txt中,购物清单存储在文件buy.txt中,系统应具有友好的用户界面。
2.1系统环境
2.1.1硬件环境
windows98/windowsXP/windows2000,VisualC++
2.1.2软件环境
计算机(Pen4CPU,256MRAM,60G以上硬盘,输入输出设备)
3.1设计思想描述
要想模拟超市收银系统,首先要构思出超市收银的过程。
其中涉及的有超市商品、消费者和超市工作人员。
超市的商品信息包括其索引号、名称、单价、数量;消费者信息包括购买商品的名称及商品的数量;工作人员的信息包括工作人员的名字、工号及工种。
输入机器密码,超市工作人员根据测试数据输入顾客所购商品的索引号、商品数量,算出消费金额;然后再输入消费者所付金额,算出差额;最后找零。
重复循环。
4.1类设计
4.1.1.商品类设计(商品的信息、商品的运算符号重载)
classGoods
{
intIndex;//商品索引号
intNum;//商品数量
stringName;//商品名称
doublePrice;//商品价格
public:
Goods();
Goods(intindex,intnum,stringname,doubleprice);
~Goods();
intGetIndex()const;
intGetNum();
stringGetName()const;
doubleGetPrice()const;
booloperator==(intindex);
friendostream&operator<<(ostream&o,Goods&g);
friendistream&operator>>(istream&i,Goods&g);
};
4.1.2.商品集合类(商品添加,操作符重载)
classStore
{
vector
public:
Store();
~Store();
voidAdd(Goods&g);//往储藏室添加商品
intSearchGoods(conststring&name);//按商品名称查找商品
doubleGetPrice(intindex);//根据商品索引号获取商品单价
friendostream&operator<<(ostream&o,Store&s);
friendistream&operator>>(istream&i,Store&s)
};
4.1.3.消费者类设计(消费者的信息,操作符重载)
classCustomer
{
stringName;//顾客购买商品的名称
intNum;//顾客购买该商品的数量
public:
Customer();
Customer(string&name,intnum);
stringGetName();
intGetNum();
friendostream&operator<<(ostream&o,Customer&c);
friendistream&operator>>(istream&i,Customer&c);
};
4.1.4.消费者集合类
classCustomers
{
vector
public:
Customers();
~Customers();
voidAdd(Customer&c);
friendostream&operator<<(ostream&o,Customers&cs);
friendistream&operator>>(istream&i,Customers&cs);
};
4.1.5.工作人员类设计(工作人员的信息)
classWorker
{
stringName;//工人名字
intID;//工号
stringKind;//工种
public:
Worker();
Worker(stringname,intid,stringkind);
stringGetName();
intGetID();
stringGetKind();
friendostream&operator<<(ostream&o,Worker&w);
friendistream&operator>>(istream&i,Worker&w);
};
4.1.6.工作人员集合类
classWorkers
{
vector
public:
Workers();
~Workers();
voidAdd(Worker&w);
friendostream&operator<<(ostream&o,Workers&ws);
friendistream&operator>>(istream&i,Workers&ws);
};
4.1.7.收银管理类设计(消费金额,实付金额,找零)
classCounter
{
doubleBill;//应付金额
doublePay;//顾客付款
doublePayBack;//找零
public:
Counter(doublebill=0,doublepay=0)
{
Bill=bill;
Pay=pay;
PayBack=Pay-Bill;
}
doubleGetBill();
doubleGetPay();
doubleGetPayBack();
voidSetBill(doublebill);
voidSetPay(doublepay);
voidSetCounter(doublebill=0,doublepay=0)
{
Bill=bill;
Pay=pay;
PayBack=Pay-Bill;
}
friendostream&operator<<(ostream&o,Counter&c);
};
4.1.8.用户类设计(设定本机密码)
classCode
{
stringName;
intNumber;
public:
Code();
~Code();
Code(stringname,intnumber);
stringGetName();
intGetNumber();
friendistream&operator>>(istream&i,Code&c);
};
4.1.9.超市类设计(把所有类归到超市类中,方便程序运行)
classSuperMarket
{
StoreSt;
CustomersCu;
WorkersWo;
CounterCo;
public:
SuperMarket();
SuperMarket(charfname1[],charfname2[],charfname3[]);
voidBegin();
}
5.1程序结构
5.1.1主程序设计
1.输入超市密码
2.显示超市物品并输入消费者输入需要购买的商品索引号及购买数目
4.算出消费者消费金额
5.输入消费者所付金额
6.找零
voidmain()
{SuperMarketsupermarket("goods.txt","buys.txt","worker.txt");
SuperMarkets;
cout<<"----------欢迎进入超市收银系统----------"< cout<<"请输入密码: "< s.Begin();} 5.1.2流程图 6.1设计中遇到的问题及解决方案 6.1.1遇到的问题 1.在编程过程中出现一些错误很长时间都改不了 如: 数据出现随机数 2.编程固定套路 3.程序还不熟练 6.1.2解决方案 1.自己实在改不过来的错误去请教同学和老师 2.通过教科书或相关资料以及上网查询 7.1程序测试案例 7.1.1第一步: 显示超市货物、顾客购物清单及工作人员信息并输入密码 7.1.2第二步: 输入商品索引号及数量 7.1.3第三步: 完成收银 8.1收获与体会 在暑假中,在刚开始编程时,总感觉无从下手,开学后经过老师的指导,我才慢慢找到思路。 总的来说,这个项目培养了我们的动手能力,通过综合运用所学的C++语言基础理论,基础知识,基础技能进行了程序分析和程序开发,提高了我们在实际问题中解决问题的能力,并能够运用C++语言进行应用程序的规划、分析、设计和实施,让我们进一步对这一门语言有深刻的理解,并学会了用C++语言的有关知识实现信息管理系统。 做课程设计不仅让我巩固了上学期所学的知识,也让我修补了以前学习的漏洞。 这让我知道一个道理: 编程需要兴趣和动手。 创新的思维在编程过程中也是必不可少的。 在这次课程设计中我也感受到了编程风格的重要性,要是只重视程序运行的结果,而程序本身的可读性不高,那么这样的程序即使成功了也不是最好的。 友好的用户界面对一个好的程序来说无疑是锦上添花。 路漫漫,我将继续努力,不负众望。 [1] 9.1参考文献 1.钱能C++程序数设计教程(第二版);出版地: 北京清华大学学研大厦A座;出版单位: 清华大学出版社;出版时间: 2005年9月;页码: 前言第6页
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程设计 报告 超市 收银 系统