超市管理系统完整源代码.pdf
《超市管理系统完整源代码.pdf》由会员分享,可在线阅读,更多相关《超市管理系统完整源代码.pdf(33页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、有一个小型超市,出售 N(N10)种商品,设计并实现一个系统,完毕下列功能:1 保存及输出。超市中的各种商品信息保存在指定文献中,可以把它们输出显示。2 计算并排序。计算每类商品的总价值(sum,单精度)及平均价(aver,单精度,输出一位小数),将每类商品按平均价从大到小的顺序排序打印出来。3 记录。记录输出库存量低于 100 的货号及类别。记录输出有两种以上(含两种)商品库存量低于 100 的商品类别。1.2 总体结构本程序重要分为八个模块:主模块、信息输出修改模块、新建信息模块、排序模块、计算模块、记录模块 1、记录模块 2、打印模块。1)主模块:通过调用各分模块实现功能;2)信息输出修
2、改模块:输出显示文献中商品信息内容,添加商品信息,删除商品信息,修改商品信息;3)新建商品信息模块:建立一个新结构体,为链表存信息用,并且将信息保存在指定的文献中;4)排序模块:把文献中顺序零乱的商品信息按单价的大小从高到低进行排序,放到链表里存储;5)计算模块:将所有商品的价格与库存量进行累加求和;6)打印模块:将商品信息按每类平均价格排序(从高到低)按顺序打印出来;7)记录模块 1:记录库存量低于 100 的货名及类别;8)记录模块 2:记录商品库存量有 2 种以上(含 2 种)低于 100 的商品类别。附录(程序清单)#include stdio.h/*输入,输出头文献*/#includ
3、e stdlib.h/*申请空间头文献*/#include string.h/*对字符串加工头文献*/#include conio.h/*清屏头文献*/FILE*fp;int n=0;/*定义文献指针类型*/int i,j,a4,m;/*定义整数类型*/float aver4,sum4,g4,h;/*定义浮点类型*/char c5=elec;/*定义字符数组类型*/char d5=comm;/*定义字符数组类型*/char e5=food;/*定义字符数组类型*/char f5=offi;/*定义字符数组类型*/struct good/*定义结构体*/int num;/*商品编号*/char
4、name20;/*商品名称*/char kind40;/*商品类型*/float price;/*商品价格*/char unit10;/*商品单位*/int quantity;/*商品数量*/struct good*next;/*定义结构体指针类型*/*head,*p1,*p2;struct good*createlist()/*创建链表函数*/struct good*head1,*p1,*p2;/*定义结构体指针类型*/if(fp=fopen(goods message.txt,w)=NULL)/*判断能否打开文献*/printf(can not open the file);exit(0)
5、;/*结束程序*/head1=(struct good*)malloc(sizeof(struct good);/*申请头结点空间*/p1=head1;p2=head1;printf(*n);printf(请输入信息:编号,名称,类型,价格,单位,数目n);printf((以输入“1”表达结束输入)n);printf(*n);printf(_n);scanf(%d%s%s%f%s%d,&p1-num,p1-name,p1-kind,&p1-price,p1-unit,&p1-quantity);/*输入商品信息*/printf(_n);p1-next=NULL;fprintf(fp,%d%s%
6、s%f%s%d,p1-num,p1-name,p1-kind,p1-price,p1-unit,p1-quantity);/*将商品信息写入文献*/while(1)p1=(struct good*)malloc(sizeof(struct good);/*申请新空间*/printf(*n);printf(请输入信息:编号,名称,类型,价格,单位,数目n);printf((以输入“1”表达结束输入)n);printf(*n);printf(_n);scanf(%d,&p1-num);if(p1-num=-1)/*申请空间结束条件*/printf(_nn);fprintf(fp,%d,-1);fc
7、lose(fp);return head1;/*返回头指针*/scanf(%s%s%f%s%d,p1-name,p1-kind,&p1-price,p1-unit,&p1-quantity);/*输入商品信息*/printf(_n);fprintf(fp,%d%s%s%f%s%d,p1-num,p1-name,p1-kind,p1-price,p1-unit,p1-quantity);/*将商品信息写入文献*/p1-next=NULL;p2-next=p1;p2=p1;struct good*paixu(struct good*head2)/*链表排序函数*/struct good*p6,*p
8、7,*r,*s;/*定义结构体指针类型*/for(i=0;inext=head2;head2=p6;while(p6-next!=NULL)/*判断循环结束条件*/p7=p6-next;r=p6;while(p7-next!=NULL)/*判断循环结束条件*/if(p7-next-price)(r-next-price)/*判断是否调换*/r=p7;p7=p7-next;if(p6!=r)/*判断循环结束条件*/s=r-next;/*指针调换*/r-next=s-next;s-next=p6-next;p6-next=s;p6=p6-next;p6=head2;head2=head2-next
9、;free(p6);/*释放第一个无效空间*/return head2;void jisuan()p1=head;doif(strcmp(p1-kind,c)=0)/*判断是否为电器类型*/sum0=sum0+(p1-price)*(p1-quantity);/*求电器总价*/a0=a0+p1-quantity;/*求电器总件数*/if(strcmp(p1-kind,d)=0)/*判断是否为日用品类型*/sum1=sum1+(p1-price)*(p1-quantity);/*求日用品总价*/a1=a1+p1-quantity;/*求日用品总件数*/if(strcmp(p1-kind,e)=0
10、)/*判断是否为办公用品类型*/sum2=sum2+(p1-price)*(p1-quantity);/*求办公用品总价*/a2=a2+p1-quantity;/*求办公用品总件数*/if(strcmp(p1-kind,f)=0)/*判断是否为食品类型*/sum3=sum3+(p1-price)*(p1-quantity);/*求食品总价*/a3=a3+p1-quantity;/*求食品总件数*/p1=p1-next;while(p1!=NULL);/*遍历链表结束条件*/for(i=0;inum,p3-name,p3-kind,&p3-price,p3-unit,&p3-quantity);
11、/*从文献中写到链表*/while(1)p4=(struct good*)malloc(sizeof(struct good);/*申请头结点空间*/fscanf(fp,%d,&p4-num);if(p4-num!=-1)/*判断循环结束条件*/fscanf(fp,%s%s%f%s%d,p4-name,p4-kind,&p4-price,p4-unit,&p4-quantity);/*从文献中写到链表*/p4-next=NULL;p3-next=p4;p3=p4;elsep3-next=NULL;break;fclose(fp);/*关闭文献*/p3=head;while(p3!=NULL)p
12、rintf(%d%s%s%0.1f%s%dnn,p3-num,p3-name,p3-kind,p3-price,p3-unit,p3-quantity);printf(_n);p3=p3-next;printf(*n);printf(/n);while(n!=4)p3=head;printf(*n);printf(1 添加商品信息n);printf(2 删除某商品信息n);printf(3 修改某商品信息n);printf(4 返回(当你完毕了对某一商品的添加、删除或者修改后请按 4 返回)n);printf(*n);scanf(%d,&n);if(n=1)/*添加商品信息*/printf(请
13、输入商品 编号名称类型价格单位数目n);printf(*n);p4=(struct good*)malloc(sizeof(struct good);/*申请空间*/scanf(%d%s%s%f%s%d,&p4-num,p4-name,p4-kind,&p4-price,p4-unit,&p4-quantity);/*输入商品信息*/p4-next=NULL;while(p3-next!=NULL)/*判断循环结束条件*/p3=p3-next;p3-next=p4;p3=head;if(fp=fopen(goods message.txt,w)=NULL)/*判断能否打开文献*/printf(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 超市 管理 系统 完整 源代码
限制150内