




已阅读5页,还剩15页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
超市收银管理程序的设计与实现1摘要和关键字1.1摘要该系统主要用于超市商品管理人员对于商品的信息(包括商品号、商品名、单价)进行输入、删除、修改和查询。除此之外,当销售人员输入商品号及销售数量时,系统应计算应收钱数,并根据实际收银计算找零数量。最后,系统能对销售情况进行查询。AbstractThe system is mainly used in the supermarket goods management personnel of the product information (including commodity number, name of goods, 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 关键字登陆系统 操作菜单 建立信息库 查询 付款KeywordsLogin system Operation menu Set up information database Inquire Pay2 正文2.1 引言随着经济的发展,人们每天接触并且需要处理的信息越来越多,人们就需要寻求一个工具来实现信息的管理和处理。尤其是超市里,需要管理各种商品的数目及销售情况,而超市收银管理程序则是针对这种问题而产生的,系统能够实现对商品信息的录入、修改、查询、删除操作,并且在销售时能计算出应收钱数,并能根据实际收钱而计算找零,最后能对销售情况进行查询。2.2 需求分析(1) 销售人员能对商品信息(商品号、商品名、单价)进行输入,建立商品信息库。(2) 输出商品信息库中全部商品的信息(商品号、商品名、售价、数量),并且输出所购商品清单。(3) 销售人员根据顾客需求录入所购商品的商品号及数量,并能实现所购商品的数量修改以及商品删除。(4) 根据所购商品的数量及单价计算出应付钱数,并根据实际收钱数目计算找零数目,并输出。(5) 销售人员通过此程序能查询销售情况,输出商品的信息(商品号、商品名、单价、剩余数量),并计算卖出商品的获利情况。2.3 数据结构设计struct good goodsN:总体商品信息数组,全局变量struct good buy_gj:所购商品信息数组,全局变量Int j:累计所购商品种类Int select:操作选项build():建立商品信息库函数display():输出商品信息库中信息函数buy():购买商品函数money():计算应付钱数和找零函数add():添加所购商品函数(add()函数子函数)check():查看销售情况函数fp:指向文件的指针total():应付钱数pay():实收钱数2.4 算法设计该系统主要包括登陆系统、商品信息库建立系统、商品信息库输出系统、购物系统、结账系统以及销售情况查询系统。其中购物系统包括商品添加及显示系统、修改购买商品系统以及删除购买商品系统,逻辑结构清晰,使用方便。2.4.1 登陆系统 登陆系统由销售人员操作,是系统选择门户,其中选择1则执行商品信息库建立的操作,选择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,&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()FILE *fp;int i;printf(请依次输入商品信息n);for( i=0;iN;i+)printf(商品序号:);scanf(%s,goodsi.num);printf(商品名:);scanf(%s,);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(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(商品序号 商品名 售价 数量n);printf(%5st%7st%8.2ft%dn,goodsi.num,,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: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.修改数量n);printf(3.删除商品n);printf(4.退出n);printf(*n);printf(请选择操作序号n);while(scanf(%d,&choose)if(choose5)printf(输入错误,请重新输入!n);continue;else break;return choose; 商品添加及显示系统通过输入商品序号并且与商品信息库中数据比较实现查找,并输出所选商品的信息(商品号、商品名、售价、数量),在输入所购数量后,存入buy_g数组中存储,并且显示出所购商品的信息以及购买数量。void add()int i,m=0;char numb50;char choice;doprintf(请输入要选购商品的序号: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(商品序号 商品名 售价 数量n);for(i=0;ij;i+)printf(%5st%7st%8.2ft%dn,buy_gi.num,buy_,buy_gi.out_price,buy_gi.amount); 修改购买商品系统 通过输入商品序号实现在所购商品数组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_,buy_gi.out_price,buy_gi.amount);printf(请重新输入数量n);scanf(%d,&buy_gi.amount); 删除购买商品系统通过输入商品序号实现在所购商品数组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.amount!=0)printf(商品序号 商品名 售价 数量n); printf(%5st%7st%8.2ft%dn,buy_gi.num,buy_,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(总费用:%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 销售情况查询系统通过所买商品与商品信息库中商品信息的比较,求出商品的剩余数量并随商品信息输出,并且根据进价、售价及销售数目粗略求出获利数目。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.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);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.5 计算应收钱数及找零2.5.7 查询销售情况3 不足之处程序虽然运行无误,但仍有很多不足之处,一是代码用C语音写,较为繁琐,代码冗长,占用空间大,并且所用符号多,不易保证书写正确性;二、代码有需完善之处,主要是建立商品信息系统时数组个数N需要提前已知,并在代码开头处予以说明,否则单凭建立个数多数组则无法正常使用;三:界面设计有待优化,没有实现清屏功能,在数据较多时不易查看;四、只是实现了根据商品序号查找功能,没有完善其他功能,且输入较为繁琐。4 设计体会通过本次的课程设计,除了让我对以前学过的C语言重新进行了系统的复习,巩固了
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 变电站道路施工方案
- Unit 7 Happy Birthday Section A 2a 教学设计2024-2025学年人教版英语七年级上册
- 厨师务工合同范本
- 叫停温泉开采合同范例
- 提升个人财务素养的方法与途径计划
- 创设多样学习场景提升幼儿园小班的学习兴趣计划
- 人体器官捐献知识普及方案计划
- 创意手工活动的实施方案计划
- 课程实施细则计划
- 提升工作效率的年度措施计划
- 新课程标准2022版初中历史考试题及答案
- 前言 马克思主义中国化时代化的历史进程与理论成果
- 思想道德与法治2023版教学设计第二章 追求远大理想 坚定崇高信念
- 21ZJ111 变形缝建筑构造
- 电子商务概论目录
- 装修返工合同
- 高等数学考研辅导课(一)学习通超星课后章节答案期末考试题库2023年
- 消力池砼施工工法
- 国家职业类别1-6类明细表
- 中国文艺美学要略·论著·《画学心法问答》
- 如何建立卓越地价值观
评论
0/150
提交评论