课程设计报告超市收银系统.docx

上传人:b****1 文档编号:11157421 上传时间:2023-05-29 格式:DOCX 页数:12 大小:64.66KB
下载 相关 举报
课程设计报告超市收银系统.docx_第1页
第1页 / 共12页
课程设计报告超市收银系统.docx_第2页
第2页 / 共12页
课程设计报告超市收银系统.docx_第3页
第3页 / 共12页
课程设计报告超市收银系统.docx_第4页
第4页 / 共12页
课程设计报告超市收银系统.docx_第5页
第5页 / 共12页
课程设计报告超市收银系统.docx_第6页
第6页 / 共12页
课程设计报告超市收银系统.docx_第7页
第7页 / 共12页
课程设计报告超市收银系统.docx_第8页
第8页 / 共12页
课程设计报告超市收银系统.docx_第9页
第9页 / 共12页
课程设计报告超市收银系统.docx_第10页
第10页 / 共12页
课程设计报告超市收银系统.docx_第11页
第11页 / 共12页
课程设计报告超市收银系统.docx_第12页
第12页 / 共12页
亲,该文档总共12页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

课程设计报告超市收银系统.docx

《课程设计报告超市收银系统.docx》由会员分享,可在线阅读,更多相关《课程设计报告超市收银系统.docx(12页珍藏版)》请在冰点文库上搜索。

课程设计报告超市收银系统.docx

课程设计报告超市收银系统

南京师范大学

《面向对象程序设计》课程设计报告

 

学院:

计算机科学与技术学院

题目:

超市管理系统

指导教师:

 

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

{

vectorvG;

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

{

vectorvC;

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

{

vectorvW;

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页

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2