C语言超市收银管理系统实现(共19页).doc

上传人:飞****2 文档编号:13937200 上传时间:2022-05-02 格式:DOC 页数:19 大小:314KB
返回 下载 相关 举报
C语言超市收银管理系统实现(共19页).doc_第1页
第1页 / 共19页
C语言超市收银管理系统实现(共19页).doc_第2页
第2页 / 共19页
点击查看更多>>
资源描述

《C语言超市收银管理系统实现(共19页).doc》由会员分享,可在线阅读,更多相关《C语言超市收银管理系统实现(共19页).doc(19页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上 超市收银管理程序的设计与实现1摘要和关键字1.1摘要该系统主要用于超市商品管理人员对于商品的信息(包括商品号、商品名、单价)进行输入、删除、修改和查询。除此之外,当销售人员输入商品号及销售数量时,系统应计算应收钱数,并根据实际收银计算找零数量。最后,系统能对销售情况进行查询。AbstractThe system is mainly used in the supermarket goods management personnel of the product information (including commodity number, name of good

2、s, unit price) input, delete, modify, and query. In addition, when sales staff input article number and sales volume, the system should be calculated according to the actual amount receivable, and cashier calculation quantity change. Finally, the system can inquirethe sales situation.1.2 关键字登陆系统 操作菜

3、单 建立信息库 查询 付款KeywordsLogin system Operation menu Set up information database Inquire Pay2 正文2.1 引言随着经济的发展,人们每天接触并且需要处理的信息越来越多,人们就需要寻求一个工具来实现信息的管理和处理。尤其是超市里,需要管理各种商品的数目及销售情况,而超市收银管理程序则是针对这种问题而产生的,系统能够实现对商品信息的录入、修改、查询、删除操作,并且在销售时能计算出应收钱数,并能根据实际收钱而计算找零,最后能对销售情况进行查询。2.2 需求分析(1) 销售人员能对商品信息(商品号、商品名、单价)进行输

4、入,建立商品信息库。(2) 输出商品信息库中全部商品的信息(商品号、商品名、售价、数量),并且输出所购商品清单。(3) 销售人员根据顾客需求录入所购商品的商品号及数量,并能实现所购商品的数量修改以及商品删除。(4) 根据所购商品的数量及单价计算出应付钱数,并根据实际收钱数目计算找零数目,并输出。(5) 销售人员通过此程序能查询销售情况,输出商品的信息(商品号、商品名、单价、剩余数量),并计算卖出商品的获利情况。2.3 数据结构设计struct good goodsN:总体商品信息数组,全局变量struct good buy_gj:所购商品信息数组,全局变量Int j:累计所购商品种类Int s

5、elect:操作选项build():建立商品信息库函数display():输出商品信息库中信息函数buy():购买商品函数money():计算应付钱数和找零函数add():添加所购商品函数(add()函数子函数)check():查看销售情况函数fp:指向文件的指针total():应付钱数pay():实收钱数2.4 算法设计该系统主要包括登陆系统、商品信息库建立系统、商品信息库输出系统、购物系统、结账系统以及销售情况查询系统。其中购物系统包括商品添加及显示系统、修改购买商品系统以及删除购买商品系统,逻辑结构清晰,使用方便。2.4.1 登陆系统 登陆系统由销售人员操作,是系统选择门户,其中选择1则

6、执行商品信息库建立的操作,选择2执行商品信息库输出操作,选择3执行购物操作,选择4执行结账操作,选择5执行销售情况查询操作。void main()void build(),display(),buy(),money();void add(),check();int select;printf(*n);printf(1.建立商品信息库n);printf(2.输出商品信息n);printf(3.购买商品n);printf(4.结账n);printf(5.查看销售情况n);printf(6.退出n);printf(*n);while(1)printf(请输入选择序号n);scanf(%d,&sele

7、ct);if(select6)printf(输入有误,请重新输入n);else switch(select)case 1:build();continue;case 2:display();continue;case 3:buy();continue;case 4:money(j);continue;case 5:check();continue;case 6:printf(谢谢使用。n);exit(0);2.4.2 商品信息库建立系统由工作人员操作,用于录入超市商品的信息(商品序号、商品名、进价、售价、数量),并建立商品信息库。void build()FILE *fp;int i;print

8、f(请依次输入商品信息n);for( i=0;iN;i+)printf(商品序号:);scanf(%s,goodsi.num);printf(商品名:);scanf(%s,goodsi.name);printf(进价:);scanf(%f,&goodsi.in_price);printf(售价:);scanf(%f,&goodsi.out_price);printf(数量:);scanf(%d,&goodsi.amount);if(fp=fopen(goods,w)=NULL)printf(cant open the filen);return;fwrite(goods,sizeof(stru

9、ct good),N,fp);fclose(fp);printf(*n);2.4.3 商品信息库输出系统商品信息库输出系统用于输出超市所有商品信息,用于检查商品信息录入是否有误。void display()int i;FILE *fp;if(fp=fopen(goods,r)=NULL)printf(cant open the filen);return;for(i=0;fread(goods+i,sizeof(struct good),1,fp)!=0;i+)printf(商品序号 商品名 售价 数量n);printf(%5st%7st%8.2ft%dn,goodsi.num,goodsi.

10、name,goodsi.out_price,goodsi.amount);printf(*n);fclose(fp);2.4.4 购物系统用于顾客购买商品时操作,通过录入商品序号实现查找,其中包括购买商品及显示系统、修改系统及删除系统三个子函数。选择1执行购买商品及显示操作,选择2执行修改商品数量操作,选择3执行删除操作,选择4退出,返回上一层。void buy()int menu();void add();void revise();void show();void del();while(1)switch(menu()case 1:add();show();break;case 2:rev

11、ise();break;case 3:del();break;case 4:printf(*n); printf(1.建立商品信息库n); printf(2.输出商品信息n); printf(3.购买商品n); printf(4.结账n);printf(5.查看销售情况n); printf(6.退出n); printf(*n);return;int menu ()int choose;printf(*n);printf(1.购买商品n);printf(2.修改数量n);printf(3.删除商品n);printf(4.退出n);printf(*n);printf(请选择操作序号n);while

12、(scanf(%d,&choose)if(choose5)printf(输入错误,请重新输入!n);continue;else break;return choose;2.4.4.1 商品添加及显示系统通过输入商品序号并且与商品信息库中数据比较实现查找,并输出所选商品的信息(商品号、商品名、售价、数量),在输入所购数量后,存入buy_g数组中存储,并且显示出所购商品的信息以及购买数量。void add()int i,m=0;char numb50;char choice;doprintf(请输入要选购商品的序号:n);scanf(%s,numb);for(i=0;igoodsi.amount)

13、printf(输入错误,请重新输入n);printf(输入购买数量);scanf(%d,&m); buy_gj.amount=m; j+; else printf(无此商品n); printf(是否继续购买?请输入Y或者Nn); getchar(); scanf(%c,&choice);while(choice=Y);void show()int i;printf(购买的商品n);printf(商品序号 商品名 售价 数量n);for(i=0;ij;i+)printf(%5st%7st%8.2ft%dn,buy_gi.num,buy_gi.name,buy_gi.out_price,buy_g

14、i.amount);2.4.4.2 修改购买商品系统 通过输入商品序号实现在所购商品数组buy_g中查找,并重新输入所要购买数量。void revise() char numbe50;int i; printf(请输入要修改商品的序号n);scanf(%s,numbe);for(i=0;ij;i+)if(strcmp(buy_gi.num,numbe)=0) break;printf(购买的商品n);printf(商品序号 商品名 售价 数量n);printf(%5st%7st%8.2ft%dn,buy_gi.num,buy_gi.name,buy_gi.out_price,buy_gi.am

15、ount);printf(请重新输入数量n);scanf(%d,&buy_gi.amount);2.4.4.3 删除购买商品系统通过输入商品序号实现在所购商品数组buy_g中查找所要删除的商品,并将其所购买数量重置为0,输出时跳过购买数量为0的商品实现删除功能。void del()int i;char numb50;printf(请输入要删除的商品序号n);scanf(%s,numb);for(i=0;ij;i+)if(strcmp(buy_gi.num,numb)=0)buy_gi.amount=0; break;printf(所购买的商品n);for(i=0;ij;i+)if(buy_gi

16、.amount!=0)printf(商品序号 商品名 售价 数量n); printf(%5st%7st%8.2ft%dn,buy_gi.num,buy_gi.name,buy_gi.out_price,buy_gi.amount);else continue;2.4.5 结账系统通过所购买商品数组buy_g中售价与购买数量的乘积的累加求出应付钱数,在输入实际付钱数目后输出找零数目。void money()float n=0,total=0,pay;int i=0;for(i=0;ij;i+)n=buy_gi.out_price*buy_gi.amount;total += n;printf(总

17、费用:%8.3fn,total);doprintf(实际付款:); printf(n); scanf(%f,&pay);if(paytotal)printf(金额错误,请重新输入!n);while(paytotal);printf(找零:);printf(%8.3fn,pay-total);printf(*n);printf(1.建立商品信息库n);printf(2.输出商品信息n);printf(3.购买商品n);printf(4.结账n);printf(5.查看销售情况n);printf(6.退出n);printf(*n);2.4.6 销售情况查询系统通过所买商品与商品信息库中商品信息的比

18、较,求出商品的剩余数量并随商品信息输出,并且根据进价、售价及销售数目粗略求出获利数目。void check()int i;int m;float q,n=0;printf(商品销售情况n);printf(商品序号 商品名 售价 剩余数量n);for(i=0;iN;i+)for(m=0;mj;m+)if(strcmp(goodsi.num,buy_gm.num)=0) printf(%5st%7st%8.2ft%dn,goodsi.num,goodsi.name,goodsi.out_price,goodsi.amount-buy_gm.amount); break;printf(总盈利:n);

19、for(i=0;ij;i+)q=(buy_gi.out_price-buy_gi.in_price)*buy_gi.amount;n+=q;printf(¥);printf(%8.2fn,n);printf(*n);printf(1.建立商品信息库n);printf(2.输出商品信息n);printf(3.购买商品n);printf(4.结账n);printf(5.查看销售情况n);printf(6.退出n);printf(*n);2.5 程序实现及测试2.5.1 进入系统登录页面及显示的相关信息2.5.2 建立商品信息库2.5.3 输出商品信息库信息2.5.4 购买商品菜单2.5.4.1 添

20、加购买商品2.5.4.2 修改购买商品数量2.5.4.3 删除所购商品2.5.5 计算应收钱数及找零2.5.7 查询销售情况3 不足之处程序虽然运行无误,但仍有很多不足之处,一是代码用C语音写,较为繁琐,代码冗长,占用空间大,并且所用符号多,不易保证书写正确性;二、代码有需完善之处,主要是建立商品信息系统时数组个数N需要提前已知,并在代码开头处予以说明,否则单凭建立个数多数组则无法正常使用;三:界面设计有待优化,没有实现清屏功能,在数据较多时不易查看;四、只是实现了根据商品序号查找功能,没有完善其他功能,且输入较为繁琐。4 设计体会通过本次的课程设计,除了让我对以前学过的C语言重新进行了系统的

21、复习,巩固了所学的知识,而且让我理解到编程的乐趣与艰辛,在编写程序时,最重要的是有系统的构想,能够把所要写的程序的各种功能及逻辑顺序形成思路,再根据实际情况选择语言及所用到的方法。在第一次编写完时看到密密麻麻的错误提示,但无从下手的感觉十分无奈,只能一点一点的找到错误并且改正,当看到程序的大体功能都实现时感觉十分有成就感,而后就是进一步的完善和修改一些忽略的漏洞,等到全部都改正并且顺利运行的时候才长舒一口气。虽然本次内容简单,所用语言也很简单,但确实在不断的发现与改正错误中体会到了其中的乐趣与困难。同时,我也理解到我所学的知识还远远不扎实,不充分,让我有了继续学习的动力,只有掌握更多的知识,才

22、能写出质量更高的程序。5 结束语通过本次课程设计让我感触很多,而且更加认识到本专业的意义,首先感谢老师能安排这样一次课程设计,让我们对所学东西能有回顾及应用的机会;还要感谢各位同学对我的指导,才使我顺利完成本次实验。6 参考文献1. 谭浩强C程序设计(第四版) 清华大学出版社 2010年6月第四版2. 严蔚敏、吴伟民数据结构 清华大学出版社2007年本科生课程设计成绩评定表班级:姓名:学号:序号评分项目满分实得分1学习态度认真、遵守纪律102设计分析合理性103设计方案正确性、可行性、创造性204设计结果正确性405设计报告的规范性106设计验收10总得分/等级评语:注:最终成绩以五级分制记。优(90-100分)、良(80-89分)、中(70-79分)、及格(60-69分)、60分以下为不及格指导教师签名:2013 年 元 月25日专心-专注-专业

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁