数据结构课程设计超市收银管理程序的设计与实现

上传人:仙*** 文档编号:32888455 上传时间:2021-10-16 格式:DOC 页数:17 大小:236.50KB
收藏 版权申诉 举报 下载
数据结构课程设计超市收银管理程序的设计与实现_第1页
第1页 / 共17页
数据结构课程设计超市收银管理程序的设计与实现_第2页
第2页 / 共17页
数据结构课程设计超市收银管理程序的设计与实现_第3页
第3页 / 共17页
资源描述:

《数据结构课程设计超市收银管理程序的设计与实现》由会员分享,可在线阅读,更多相关《数据结构课程设计超市收银管理程序的设计与实现(17页珍藏版)》请在装配图网上搜索。

1、武汉理工大学华夏学院数据结构课程设计说明学 号: 10212810114武汉理工大学华夏学院数据结构课程设计题 目超市收银管理程序的设计与实现院 系信息工程系专 业软件工程 班 级1101 姓 名指导教师2011年6月24日15课程设计任务书学生姓名: 专业班级: 软件1101班 指导教师: 工作单位: 信息工程系 题 目: 超市收银管理程序的设计与实现初始条件:理论:学习了数据结构课程,掌握了基本的数据结构和常用的算法;实践:信息工程系实验室提供计算机及软件开发环境。要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1、系统应具备的功能:(1)商品管理人员对商

2、品信息(商品号、商品名、单价)进行输入、删除、修改和查询。(2)收银人员录入商品号及购买数量,计算应付钱数,实收钱数和应找钱数。(3)对销售情况进行查询。2、数据结构设计;3、主要算法设计;4、编程及上机实现;5、撰写课程设计报告,包括:(1)设计题目;(2)摘要和关键字;(3)正文,包括引言、需求分析、数据结构设计、算法设计、程序实现及测试等;(4)结束语;(5)参考文献。时间安排: 2011年6月20日24日 (第18周)星期一 查阅资料星期二 系统设计,数据结构设计,算法设计星期三-星期四 编程并上机调试星期五 撰写报告星期五 验收程序,提交设计报告书。指导教师签名: 2011年6月20

3、日 系主任(或责任教师)签名: 2011年6月20日 超市收银管理程序的设计与实现摘要:该程序主要用于实现登陆超市商品管理系统的界面;超市工作人员对商品的管理系统主要包括对商品名,货号及商品库存量的存储修改以及查;。实现顾客购买商品的系统界面;以及结账系统主要显示顾客当前购物清单,应付金额,以及实收金额,找零。本程序将实现不同功能的程序写入具有共同头文件的不同文件中,以便在其他程序中可以直接调用而不要重新声明定义。关键字:登陆系统 商品统计 超市管理 查询 付款引言:随着科技的发展,社会的进步,人们对产品的质量和服务的要求越来越高,市场竞争日趋激烈。超市需要处理大量的库存信息,还要时刻更新产品

4、的销售信息,不断添加商品信息。这些对传统的人工记录、操作来说越来越复杂、困难。因此,面对不同种类的信息,需要合理的数据库结构来保存数据信息,需要有效的程序结构支持各种数据操作的执行。所以超市收银管理程序是当今社会所必不可少的,它的特点就是能够实时的和准确的控制店内的销售情况。如果能够实时掌握销售流程及销售情况,则可以有效地加速商品的周转率并提高服务质量,而且可以减少产品售价不符等所产生的问题。一个好的超市收银管理程序能够给企业带来巨大的便利,以及效益。1 需求分析:(1) 商品管理人员对商品信息(商品号、商品名、单价)进行输入、删除、修改和查询。(2) 收银人员录入商品号及购买数量,计算应付钱

5、数,实收钱数和应找钱数。(3) 对销售情况进行查询。(4) 顾客能看到自己已经购买的商品及价格数量以及找零。2 数据结构设计:struct item _node:商品元素;全局变量;FILE :存储商品信息的文件; goodsi:文件中存储的商品; int select:操作选项; fp:指向文件的指针; p,p1:指向商品元素的指针; storage:记载商品库存量 amount:记录顾客购买同样商品的数量; id:商品号; brand:商品名; in_price/out_price:商品进价/售价; Total:应付金额; Pay: 实收金额。 3 算法设计:该程序主要包括登录系统、显示商

6、品清单、购物车、结账系统3.1登陆系统用于超市管理人员登录及操作,选择1建立商品数据库、选择2显示商品信息、选择3进入购物车菜单、选4择进入结账目录、选择5退出程序。void main()printf(*);printf(欢迎进入商品管理系统);printf(*); while(1) switch(menu() case 1:build(); break; case 2:dis_all(); break; case 3: shop_cart();break; case 4: account();break; case 5: printf(谢谢使用,再见);exit(0); 3.1.1登陆系统操

7、作菜单管理人员登录后显示的界面,选择1. 将会建立商品统计信息、选择2. 将显式所有商品、选择3.显示购买商品链、选择4. 弹出付账选择、选择5.退出int menu() int select; char str5; printf(请选择操作序号); printf(n*n); printf(1.建立商品统计信息n); printf(2.显式所有商品n); printf(3.购买商品链n); printf(4.付账n); printf(5.退出n); printf(*nn); printf(请选择序号n); while(1) gets(str); select=atoi(str); if(sel

8、ect5|select1) printf(输入有误请重新选择n); else break; return select; 3.2显示商品信息打开保存的文件并在屏幕上显示商品的货号、品名、单价、库存量void dis_all() int i; FILE *fp; fp=fopen(goods,r); for(i=0;fread(goods+i,sizeof(struct item),1,fp)!=0;i+) printf(*n); printf(贷号 品名 单价 库存量n);printf(%10s%20s%7,2f%9dn,goodsi.id,goodsi.brand,goodsi.out_pr

9、ice,goodsi.storage ); fclose(fp); 3.2.1建立商品信息库建立商品信息库,首先输入商品名称,接着输入货号,进价以及售价,最后输入商品的库存量void build() FILE *fp; int i; printf(请依次输入商品信息n); for(i=0;i5|selectwanted.brand,p-wanted.id,p-wanted.out_price,p-wanted.storage); p=p-next ; 3.3.3添加商品添加所购买的物品货号以及数量,结束后会提示是否继续添加,如果输入错误将显示“打开文件失败”void add() FILE *f

10、p; int i,n; char str20; char choice; struct item_node *p,*p1; do printf(请输入所购商品货号); gets(str); if(fp=fopen(goods,r)=NULL) printf(打开文件失败n); continue; for(i=0;fread(goods+i,sizeof(struct item),1,fp)!=0;i+) if(goodsi.id=str) printf(*n); printf(货号 品名 售价 库存量);printf(%10s%20s%7.2f%8dn,goodsi.id,goodsi.bra

11、nd,goodsi.out_price,goodsi.storage); printf(购买数量); scanf(%d,&n); p1=(struct item_node*)malloc(sizeof(struct item_node); if(p1=NULL) printf(fall); exit(1); p1-amount=n; p1-wanted=goodsi; p1-next =NULL; p=cart; if(cart=NULL) cart=p1; else while(p-next!=NULL) p=p-next ; p1-next =p-next ; p-next =p1; br

12、eak; fclose(fp); printf(是否继续购买商品?); choice=getchar(); while(choice=Y|choice=y); 3.4结账系统显示购物清单及应找钱数,显示购物清单,然后输入实收的钱数,最后会在屏幕上显示应找的钱数int account() float total=0,pay; struct item_node *p; int i; FILE *fp; printf(以下是您的购物清单:n); display();if(fp=fopen(goods,r)=NULL) printf(打开文件失败n); return 0; for(i=0;(fread

13、(goods+i,sizeof(struct item),1,fp)!=0;i+) ; fclose(fp); p=cart; while(p!=NULL) total+=p-wanted .out_price *p-amount ; for(i=0;goodsi.id!=p-wanted .id ;i+) ; goodsi.storage -=p-amount ; p=p-next ; printf(总计%7.2f,total);printf(n输入实付金额:);scanf(%f,&pay); printf(实付: %7.2f 找零: %7.2f,pay,pay-total);if(fp=f

14、open(goods,w)=NULL) printf(打开文件失败n); return 0; fwrite(goods,sizeof(struct item),NUM,fp); fclose(fp); 4程序实现及测试:4.1进入商品管理系统并显示相关信息图4-14.2显示商品信息图4-24.3购买商品清单图4-34.4结账界面图4-44.5清屏图4-55不足之处:本程序设计比较简单、简陋,但便于操作、使用,在一些方面存在不足,例如:当输入大量数据时,显示会出现错误,我会在以后改进。该程序可以进行简单的商品信息输入和输出,以及商品信息查询和修改,但是在处理大量数据时会比较麻烦,例如:结账时只有

15、选择了结账选项才会执行结账操作,而不能自动在输入数据后自动结账,因此,操作起来时间会花费比较多。而且在输入的时候如果没有注意输入数据的类型,就会导致程序无法执行。另外,在获取商品号码时,不能够自动获取,人工输入比较麻烦,我会在以后的学习中解决这一问题,完善这个代码。6设计体会:通过这次课程设计,我对数据结构有了更深的理解,体会到,看起来复杂的事情只要想好思路,写好算法,再设计代码,问题也就会迎刃而解。虽然在具体过程中我遇到了很多困难和错误,但经过不断调试后,还是成功做出了这个简陋的程序。这次的设计,同样也使我对以前不熟悉的指针和结构体有了进一步的理解。让我相信,只要有耐心,肯努力,一定能将程序

16、做出来!这次设计中,我查阅了很多资料,因此,我了解到书本上的知识是远远不够的,只有不断的扩充自己的知识,才能保证程序的顺利制作。参考文献: 1. 谭浩强C语言程序设计 清华大学出版社 2005年7月 2. 严蔚敏 吴伟民 编著 数据结构 清华大学出版社 2001年1月 本科生课程设计成绩评定表班级:软件1101姓名:熊伟学号:10212810114序号评分项目满分实得分1学习态度认真、遵守纪律102设计分析合理性103设计方案正确性、可行性、创造性204设计结果正确性405设计报告的规范性106设计验收10总得分/等级评语: 该生在数据结构课程设计过程中,态度认真,遵守纪律。数据结构设计合理,

17、算法设计正确,设计结果正确,报告撰写较为规范,通过了设计验收。注:最终成绩以五级分制记。优(90-100分)、良(80-89分)、中(70-79分)、及格(60-69分)、60分以下为不及格指导教师签名:2011 年7月2日附录#include #include #include void main()printf(*);printf(欢迎进入商品管理系统);printf(*); while(1) switch(menu() case 1:build(); break; case 2:dis_all(); break; case 3: shop_cart();break; case 4: ac

18、count();break; case 5: printf(谢谢使用,再见);exit(0); int menu() int select; char str5; printf(请选择操作序号); printf(n*n); printf(1.建立商品统计信息n); printf(2.显式所有商品n); printf(3.购买商品链n); printf(4.付账n); printf(5.退出n); printf(*nn); printf(请选择序号n); while(1) gets(str); select=atoi(str); if(select5|select1) printf(输入有误请重

19、新选择n); else break; return select; void dis_all() int i; FILE *fp; fp=fopen(goods,r); for(i=0;fread(goods+i,sizeof(struct item),1,fp)!=0;i+) printf(*n); printf(贷号 品名 单价 库存量n);printf(%10s%20s%7,2f%9dn,goodsi.id,goodsi.brand,goodsi.out_price,goodsi.storage); fclose(fp); void build() FILE *fp; int i; pr

20、intf(请依次输入商品信息n); for(i=0;i5|selectwanted.brand,p-wanted.id,p-wanted.out_price,p-wanted.storage); p=p-next ; void add() FILE *fp; int i,n; char str20; char choice; struct item_node *p,*p1; do printf(请输入所购商品货号); gets(str); if(fp=fopen(goods,r)=NULL) printf(打开文件失败n); continue; for(i=0;fread(goods+i,si

21、zeof(struct item),1,fp)!=0;i+) if(goodsi.id=str) printf(*n); printf(货号 品名 售价 库存量);printf(%10s%20s%7.2f%8dn,goodsi.id,goodsi.brand,goodsi.out_price,goodsi.storage); printf(购买数量); scanf(%d,&n); p1=(struct item_node*)malloc(sizeof(struct item_node); if(p1=NULL) printf(fall); exit(1); p1-amount=n; p1-wa

22、nted=goodsi; p1-next =NULL; p=cart; if(cart=NULL) cart=p1; else while(p-next!=NULL) p=p-next ; p1-next =p-next ; p-next =p1; break; fclose(fp); printf(是否继续购买商品?); choice=getchar(); while(choice=Y|choice=y); int account() float total=0,pay; struct item_node *p; int i; FILE *fp; printf(以下是您的购物清单:n); d

23、isplay();if(fp=fopen(goods,r)=NULL) printf(打开文件失败n); return 0; for(i=0;(fread(goods+i,sizeof(struct item),1,fp)!=0;i+) ; fclose(fp); p=cart; while(p!=NULL) total+=p-wanted .out_price *p-amount ; for(i=0;goodsi.id!=p-wanted .id ;i+) ; goodsi.storage -=p-amount ; p=p-next ; printf(总计%7.2f,total);printf(n输入实付金额:);scanf(%f,&pay); printf(实付: %7.2f 找零: %7.2f,pay,pay-total);if(fp=fopen(goods,w)=NULL) printf(打开文件失败n); return 0; fwrite(goods,sizeof(struct item),NUM,fp); fclose(fp);

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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