超市收银管理程序的设计与实现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 inquire the 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 goods[N]:总体商品信息数组,全局变量struct good buy_g[j]:所购商品信息数组,全局变量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(select<1||select>6){printf("输入有误,请重新输入\n");}elseswitch(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;i<N;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't open the file\n");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("can't open the file\n");return;}for(i=0;fread(goods+i,sizeof(struct good),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退出,返回上一层。
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(choose<1||choose>5){printf("输入错误,请重新输入!\n");continue;}else break;}return choose;}2.4.4.1 商品添加及显示系统通过输入商品序号并且与商品信息库中数据比较实现查找,并输出所选商品的信息(商品号、商品名、售价、数量),在输入所购数量后,存入buy_g[]数组中存储,并且显示出所购商品的信息以及购买数量。