模拟超市收银系统

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程设计任务书

2012—2013学年第2学期

一、课程设计题目

模拟超市收银系统(例子)

二、课程设计内容

使用文本命令行界面模拟超市收银系统

●由收银员输入顾客的会员卡卡号(若有卡)、所购商品的货号等。从数据库

(或文件)中取出有关价格信息,再把这些信息返回给收银台。同时把该收银台的销售总量和有关种类商品的剩余量以及该持卡顾客的消费情况交数据库(或文件)存储以供查询。

●另外,对没有卡的消费情况不记录该顾客的消费情况等个人信息。如果一个

未持卡顾客一次性购物满200元,可为其发放一张会员卡,以后在该商场购物可获得9折优惠。

要求:建立会员账户类、商品信息类、文件读写类、界面显示类等以及各相关接

口类。

三、进度安排

(1)1-2学时,选定题目、分析需求、理解需求;

(2)3-4学时,程序设计,定义数据类型、数据处理方式;

(3)5-10学时,编写程序、调试、测试;

(4)11-12学时,编写设计报告;

(5)13-16学时,答辩。

四、基本要求

(1)只能使用C++语言,源程序要有适当的注释,使程序容易

阅读

(2)至少采用文本菜单界面(如果能采用图形菜单界面更好)(3)学生可自动增加新功能模块(视情况可另外加分)

(4)建立银行账户类、文件读写类、界面显示类等以及各相关接口类。(例子)

(5)写出课程设计报告,应不少于3000字(不含附录),同一组学生只需提交1份,但必须在报告中列明分工。

课程负责人签名:

2013年6 月28 日

模拟超市收银系统(例子)

摘要

使用文本命令行界面模拟超市收银系统

●由收银员输入顾客的会员卡卡号(若有卡)、所购商品的货号等。从数据库(或文件)

中取出有关价格信息,再把这些信息返回给收银台。同时把该收银台的销售总量和有关种类商品的剩余量以及该持卡顾客的消费情况交数据库(或文件)存储以供查询。

●另外,对没有卡的消费情况不记录该顾客的消费情况等个人信息。如果一个未持卡

顾客一次性购物满200元,可为其发放一张会员卡,以后在该商场购物可获得9折优惠。

要求:建立会员账户类、商品信息类、文件读写类、界面显示类等以及各相关接口类。关键词:面向对象;超市收银系统;文件操作

目录

第一章设计内容 (1)

第二章总体设计 (2)

2.1模块化设计 (2)

2.2程序运行示意图 (2)

第三章详细设计 (3)

3.1数据结构设计 (4)

3.2程序模块设计 (6)

第四章调试与测试 (8)

4.1调试过程中的主要问题 (8)

4.2测试结果 (8)

参考文献 (10)

心得体会 (21)

设计一个模拟超市收银系统操作的程序,输入你需要的操作(选择相对的括号里的阿拉伯数字)程序具体功能有:

(1)顾客结账 {付款方式:1.会员结账 2.普通结账}

(2)增加商品

(3)增加会员

(4)查询会员消费记录

(0)退出

2.1模块化设计

为实现系统功能,本程序主要分为五个模块。它们分别为:顾客结账(内含付款方式:会员结账,普通结账);增加商品;增加会员;查询会员消费记录;退出,这五个函数再通过主函数调用分别得以实现。

主函数,首先提供了程序运行时的友好界面,提供客户选择的菜单。然后,通过执行多分支选择语句——switch语句,分别实现其它各个函数的调用功能。

其它各个函数的功能分别如下:

顾客结账:{1.会员结账 vip_count() 2.普通结账count()}

商品入库: input()

增加会员: CClientele()

查询会员消费记录:Rec.read_record();

显示所有商品:all();

找零:change();

2.2 程序运行示意图

第三章详细设计

3. 文件设计

本程序中,运用了多种函数。首先商品入库、加入会员、显示主界面、再按数字输入进行选择性操作。在主函数中分别调用各项的函数。

//商品入库

void Product::input(){

cout<<"编号:";

cin>>id;

ifstream infile("Goods.dat",ios::in|ios::binary); //判断商品是否已存在if(!infile){

d_show();

exit;

}

while(infile){

int n;

infile.read((char*)&G1,sizeof(G1));

n=infile.gcount();

if(n==sizeof(G1))

if(G1.id==id){

cout<<"货物已存在,请核实后再输入!"<

return;

}

}

infile.close();

cout<<"商品名:";

cin>>Goodsname;

cout<<"单价:";

cin>>price;

cout<<"数量:";

cin>>number;

G1.Setdata(id,Goodsname,price,number);

ofstream outfile("Goods.dat",ios::app|ios::binary);

if(!outfile){

d_show();

exit;

相关文档
最新文档