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

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

超市收银管理程序的设计与实现1摘要和关键字1.1摘要该系统主要用于超市商品管理人员对于商品的信息(包括商品号、商品名、单价)进行输入、删除、修改和查询。除此之外,当销售人员输入商品号及销售数量时,系统应计算应收钱数,并根据实际收银计算找零数量。最后,系统能对销售情况进行查询。AbstractThesystemismainlyusedinthesupermarketgoodsmanagementpersonneloftheinformation(includingcommoditynumber,nameofgoods,unitprice)input,delete,modify,andquery.Inaddition,whensalesstaffinputarticlenumberandsalesvolume,thesystemshouldbecalculatedaccordingtotheactualamountreceivable,andcashiercalculationchange.Finally,thesystemcaninquirethesalessituation.1.2关键字登陆系统操作菜单建立信息库查询付款KeywordsLoginsystemOperationmenuSetupinformationdatabaseInquirePay2正文2.1引言随着经济的发展,人们每天接触并且需要处理的信息越来越多,人们就需要寻求一个工具来实现信息的管理和处理。尤其是超市里,需要管理各种商品的数目及销售情况,而超市收银管理程序则是针对这种问题而产生的,系统能够实现对商品信息的录入、修改、查询、删除操作,并且在销售时能计算出应收钱数,并能根据实际收钱而计算找零,最后能对销售情况进行查询。2.2需求分析(1)销售人员能对商品信息(商品号、商品名、单价)进行输入,建立商品信息库。(2)输出商品信息库中全部商品的信息(商品号、商品名、售价、数量),并且输出所购商品清单。(3)销售人员根据顾客需求录入所购商品的商品号及数量,并能实现所购商品的数量修改以及商品删除。(4)根据所购商品的数量及单价计算出应付钱数,并根据实际收钱数目计算找零数目,并输出。(5)销售人员通过此程序能查询销售情况,输出商品的信息(商品号、商品名、单价、剩余数量),并计算卖出商品的获利情况。2.3数据结构设计structgoodgoods[N]:总体商品信息数组,全局变量structgoodbuy_g[j]:所购商品信息数组,全局变量Intj:累计所购商品种类Intselect:操作选项build():建立商品信息库函数display():输出商品信息库中信息函数buy():购买商品函数money():计算应付钱数和找零函数add():添加所购商品函数(add()函数子函数)check():查看销售情况函数fp:指向文件的指针total():应付钱数pay():实收钱数2.4算法设计该系统主要包括登陆系统、商品信息库建立系统、商品信息库输出系统、购物系统、结账系统以及销售情况查询系统。其中购物系统包括商品添加及显示系统、修改购买商品系统以及删除购买商品系统,逻辑结构清晰,使用方便。2.4.1登陆系统登陆系统由销售人员操作,是系统选择门户,其中选择1则执行商品信息库建立的操作,选择2执行商品信息库输出操作,选择3执行购物操作,选择4执行结账操作,选择5执行销售情况查询操作。voidmain(){voidbuild(),display(),buy(),money();voidadd(),check();intselect;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(select1||select6){printf(输入有误,请重新输入\n);}elseswitch(select){case1:build();continue;case2:display();continue;case3:buy();continue;case4:money(j);continue;case5:check();continue;case6:printf(谢谢使用。\n);exit(0);}}}2.4.2商品信息库建立系统由工作人员操作,用于录入超市商品的信息(商品序号、商品名、进价、售价、数量),并建立商品信息库。voidbuild(){FILE*fp;inti;printf(请依次输入商品信息\n);for(i=0;iN;i++){printf(商品序号:);scanf(%s,goods[i].num);printf(商品名:);scanf(%s,goods[i].name);printf(进价:);scanf(%f,&goods[i].in_price);printf(售价:);scanf(%f,&goods[i].out_price);printf(数量:);scanf(%d,&goods[i].amount);}if((fp=fopen(goods,w))==NULL){printf(can'topenthefile\n);return;}fwrite(goods,sizeof(structgood),N,fp);fclose(fp);printf(***************************\n);}2.4.3商品信息库输出系统商品信息库输出系统用于输出超市所有商品信息,用于检查商品信息录入是否有误。voiddisplay(){inti;FILE*fp;if((fp=fopen(goods,r))==NULL){printf(can'topenthefile\n);return;}for(i=0;fread(goods+i,sizeof(structgood),1,fp)!=0;i++){printf(商品序号商品名售价数量\n);printf(%5s\t%7s\t%8.2f\t%d\n,goods[i].num,goods[i].name,goods[i].out_price,goods[i].amount);printf(***************************\n);}fclose(fp);}2.4.4购物系统用于顾客购买商品时操作,通过录入商品序号实现查找,其中包括购买商品及显示系统、修改系统及删除系统三个子函数。选择1执行购买商品及显示操作,选择2执行修改商品数量操作,选择3执行删除操作,选择4退出,返回上一层。voidbuy(){intmenu();voidadd();voidrevise();voidshow();voiddel();while(1){switch(menu()){case1:add();show();break;case2:revise();break;case3:del();break;case4:printf(***************************\n);printf(1.建立商品信息库\n);printf(2.输出商品信息\n);printf(3.购买商品\n);printf(4.结账\n);printf(5.查看销售情况\n);printf(6.退出\n);printf(***************************\n);return;}}}intmenu(){intchoose;printf(***************************\n);printf(1.购买商品\n);printf(2.修改数量\n);printf(3.删除商品\n);printf(4.退出\n);printf(***************************\n);printf(请选择操作序号\n);while(scanf(%d,&choose)){if(choose1||choose5){printf(输入错误,请重新输入!\n);continue;}elsebreak;}returnchoose;}2.4.4.1商品添加及显示系统通过输入商品序号并且与商品信息库中数据比较实现查找,并输出所选商品的信息(商品号、商品名、售价、数量),在输入所购数量后,存入buy_g[]数组中存储,并且显示出所购商品的信息以及购买数量。voidadd(){inti,m=0;charnumb[50];charchoice;do{printf(请输入要选购商品的序号:\n);scanf(%s,numb);for(i=0;iN;i++){if(strcmp(goods[i].num,numb)==0){strcpy(buy_g[j].num,goods[i].num);strcpy(buy_g[j].name,goods[i].name);buy_g[j].in_price=goods[i].in_price;buy_g[j].out_price=goods[i].out_price;printf(商品序号商品名售价剩余数量\n);printf(%5s\t%7s\t%8.2f\t%d\n,goods[i].num,goods[i].name,goods[i].out_price,goods[i].amount);break;}}{if(strcmp(goods[i].num,numb)==0){printf(输入购买数量:);scanf(%d,&m);while(mgoods[i].amount){printf(输入错误,请重新输入\n);printf(输入购买数量);scanf(%d,&m);}buy_g[j].amount=m;j++;}elseprintf(无此商品\n);}printf(是否继续购买?请输入Y或者N\n);getchar();scanf(%c,&choice);}while(choice=='Y');}voidshow(){inti;printf(购买的商品\n);printf(商品序号商品名售价数量\n);for(i=0;ij;i++){printf(%5s\t%7s\t%8.2f\t%d\n,buy_g[i].num,buy_g[i].name,buy_g[i].out_price,buy_g[i].amount);}}2.4.4.2修改购买商品系统通过输入商品序号实现在所购商品数组buy_g[]中查找,并重新输入所要购买数量。voidrevise(){charnumbe[50];inti;printf(请输入要修改商品的序号\n);scanf(%s,numbe);for(i=0;ij;i++){if(strcmp(buy_g[i].num,numbe)==0)break;}printf(购买的商品\n);printf(商品序号商品名售价数量\n);printf(%5s\t%7s\t%8.2f\t%d\n,buy_g[i].num,buy_g[i].name,buy_g[i].out_price,buy_g[i].amount);printf(请重新输入数量\n);scanf(%d,&buy_g[i].amount);}2.4.4.3删除购买商品系统通过输入商品序号实现在所购商品数组buy_g[]中查找所要删除的商品,并将其所购买数量重置为0,输出时跳过购买数量为0的商品实现删除功能。voiddel(){inti;charnumb[50];printf(请输入要删除的商品序号\n);scanf(%s,numb);for(i=0;ij;i++){

1 / 19
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功