1 / 25
文档名称:

超市收银系统.doc

格式:doc   页数:25页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

超市收银系统.doc

上传人:3099984911 2015/9/23 文件大小:0 KB

下载得到文件列表

超市收银系统.doc

文档介绍

文档介绍:目录
3
3
4
8
24
25
26
27
要求:
本次课程设计利用《软件设计基础-C++》课程中所学到的编程知识和编程技巧,完成具有一定难度和工作量的程序设计题目,帮助学生掌握编程、调试的基本技能,独立完成所布置的任务。
要求:
1、对系统进行功能需求分析
2、设计合理的数据结构和系统框架
3、编程简练,程序功能齐全,能正确运行
4、说明书、流程图要清楚
5、课题完成后必须按要求提交课程设计报告
任务:
:
(1)显示超市库存商品信息。
(2)显示购物流程提示信息。
(3)实现收款过程,反复输入所购各种商品的索引号和购买数量,直到输入商品索引号“-1”,结束购物流程。
(4)实现收银,根据顾客所交现金,自动找零。

在基本要求达到后,可以进行创新设计。
(1)为了简单起见,本设计只要求处理一个购物篮,即假定整个超市只有一个顾客。这不是一个对真实场景的模拟,真正的场景应该是有多个顾客,可能会同时去收银台结账。因此,收银台处理的应该是一个购物篮队列,应该单独创建一个线程来追加这个队列,然后由收银台分别为每个购物篮结账,结完一个删除一个。
(2)对于超市的店主来说,还应该有一个交互的界面,可以让店主来完成更改货物的单价、追加货物等操作。
⑴概要设计
模块说明:
在我们的程序中一共包括了四个模块,分别是:收银模块、查询模块、管理模块、退出系统模块。其中退出模块是在主菜单函数中,其他三个通过是作为switch语句中的一部分,通过switch语句,把六大模块联系了起来。
在查询模块中又分为四部分:查找商品、查询所有、商品排名、退出查询,总体思路和整体的设计思路一样,退出模块在查询函数中,其他的模块也是通过switch语句将它们俩接起来的。
在排名菜单中包括总金额排名和销售量排名,他们之间是通过if-else结构连接的。其中排名用的是冒泡法。
管理模块:也是分为四部分,新建商品、删除商品、修改商品和退出模块,思路和上米娜的一样。其中删除商品菜单中包括删除全部和单个删除,他们之间的链接也是通过if-else结构连接的。
模块结构图:
超市收银系统
超市收银
-商品查询
商品管理
收银
找零
退出程序
查找商品
查询所有
商品排名
退出查询
新建商品
删除商品
修改商品
退出管理

⑵详细设计
总体流程图:
主菜单
超市收银
商品查询
商品管理
退出程序
按索引号收银
总金额排名
销售量排名
查找商品
退出查询
商品排名
查询所有
新建商品
删除商品
修改商品
退出管理
单个删除
全部删除
购买
找零
按商品名购买
各功能模块流程图:
我的课题设计是合作的我主要负责商品查询和商品管理,其中商品管理中的商品排名是合作伙伴的部分。下面是我制作部分的功能模块流程图:
商品查询流程图:
商品查询
查找商品
查询所有
商品排名
退出查询
输入索引号,商品名
判断
输出商品信息息
正确
错误
继续


A
B
输出
C
D
主菜单
商品管理
新建商品
输入索引号,商品名
判断
库中存在
不存在
创建新信息:输入单价、总数
继续

A

删除商品
B
全部删除
A
判断
有商品
无商品
删除成功
单个删除
B
输入商品名
判断
删除成功
继续




判断
输入商品名
修改商品信息息
继续
有商品

正确

继续


退出管理
主菜单
错误
商品管理流程图:

源代码:
类的定义:
class Goods//商品类
{
public://成员函数的说明
Goods(){name[0]='\0';price=0;n1=0;n2=0;syh=0;}//构造函数
~Goods(){ }//析构函数
void setn(char *n){strcpy(name,n);}//设置属性
void setsyh(int syh){this->syh=syh; }
void setp(float p){price=p;}
void setn1(int n1){this->n1=n1;}
void setn2(int n2){this->n2=n2;}
char * getn(){return (char *)name;} //得到属