ImageVerifierCode 换一换
格式:DOCX , 页数:21 ,大小:254.47KB ,
资源ID:9158414      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9158414.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C语言超市收银管理系统实现.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C语言超市收银管理系统实现.docx

1、C语言超市收银管理系统实现 超市收银管理程序的设计与实现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 inquire the 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 selec

5、t:操作选项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); scan

7、f(%d,&select); 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()

8、 FILE *fp; int i; printf(请依次输入商品信息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 fi

9、len); return; fwrite(goods,sizeof(struct 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(商品序号 商品名 售价 数

10、量n); printf(%5st%7st%8.2ft%dn,goodsi.num,goodsi.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(); w

11、hile(1) switch(menu() case 1:add();show();break; case 2:revise();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.修改

12、数量n); printf(3.删除商品n); printf(4.退出n); printf(*n); printf(请选择操作序号n); while(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 n

13、umb50; char choice; do printf(请输入要选购商品的序号:n); scanf(%s,numb); for(i=0;igoodsi.amount) 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(商品序号 商品名

14、售价 数量n); for(i=0;ij;i+) printf(%5st%7st%8.2ft%dn,buy_gi.num,buy_gi.name,buy_gi.out_price,buy_gi.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

15、); printf(商品序号 商品名 售价 数量n); printf(%5st%7st%8.2ft%dn,buy_gi.num,buy_gi.name,buy_gi.out_price,buy_gi.amount); 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,num

16、b); 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.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中售价与购买数量的乘积的累加求出应付钱数,在输入实际付钱数

17、目后输出找零数目。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(总费用:%8.3fn,total); do printf(实际付款:); printf(n); scanf(%f,&pay); if(paytotal) printf(金额错误,请重新输入!n); while(paytotal); printf(找零:); printf(%8.3fn,pay-total); printf(*n); printf(1.建立

18、商品信息库n); printf(2.输出商品信息n); printf(3.购买商品n); printf(4.结账n); printf(5.查看销售情况n); printf(6.退出n); printf(*n);2.4.6 销售情况查询系统通过所买商品与商品信息库中商品信息的比较,求出商品的剩余数量并随商品信息输出,并且根据进价、售价及销售数目粗略求出获利数目。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(st

19、rcmp(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); 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);

20、 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 添加购买商品2.5.4.2 修改购买商品数量2.5.4.3 删除所购商品2.5.5 计算应收钱数及找零2.5.7 查询销售情况3 不足之处程序虽然运行无误,但仍有很多不足之处,一是代码用C语音写,较为繁琐,代码冗长,占用空间大,并且所用符号多,不易保证书写正确性;二、代码有需完善之

21、处,主要是建立商品信息系统时数组个数N需要提前已知,并在代码开头处予以说明,否则单凭建立个数多数组则无法正常使用;三:界面设计有待优化,没有实现清屏功能,在数据较多时不易查看;四、只是实现了根据商品序号查找功能,没有完善其他功能,且输入较为繁琐。4 设计体会通过本次的课程设计,除了让我对以前学过的C语言重新进行了系统的复习,巩固了所学的知识,而且让我理解到编程的乐趣与艰辛,在编写程序时,最重要的是有系统的构想,能够把所要写的程序的各种功能及逻辑顺序形成思路,再根据实际情况选择语言及所用到的方法。在第一次编写完时看到密密麻麻的错误提示,但无从下手的感觉十分无奈,只能一点一点的找到错误并且改正,当

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日

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1