{推荐}超市管理系统完整+源代码
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
超市管理系统完整+源
代码
有一个小型超市,出售N(N>=10)种商品,设计并实现一个系统,完成下列功能:1.保存及输出。超市中的各种商品信息保存在指定文件中,可以把它们输出显示。
2.计算并排序。计算每类商品的总价值(sum,单精度)及平均价(aver,单精度,输出一位小数),将每类商品按平均价从大到小的顺序排序打印出来。3.统计。统计输出库存量低于100的货号及类别。统计输出有两种以上(含两种)商品库存量低于100的商品类别。
1.2总体结构
本程序主要分为八个模块:主模块、信息输出修改模块、新建信息模块、排序模块、计算模块、统计模块1、统计模块2、打印模块。
1)主模块:通过调用各分模块实现功能;
2)信息输出修改模块:输出显示文件中商品信息内容,添加商品信息,删除商品信息,修改商品信息;
3)新建商品信息模块:建立一个新结构体,为链表存信息用,并且将信息保存在指定的文件中;
4)排序模块:把文件中顺序零乱的商品信息按单价的大小从高到低进行排序,放到链表里存储;
5)计算模块:将所有商品的价格与库存量进行累加求和;
6)打印模块:将商品信息按每类平均价格排序(从高到低)按顺序打印出来;
7)统计模块1:统计库存量低于100的货名及类别;
8)统计模块2:统计商品库存量有2种以上(含2种)低于100的商品类别。附录(程序清单)
#include"stdio.h"/*输入,输出头文件*/
#include"stdlib.h"/*申请空间头文件*/
#include"string.h"/*对字符串加工头文件*/
#include"conio.h"/*清屏头文件*/
FILE*fp;
intn=0;/*定义文件指针类型*/
inti,j,a[4],m;/*定义整数类型*/
floataver[4],sum[4],g[4],h;/*定义浮点类型*/
charc[5]="elec";/*定义字符数组类型*/
chard[5]="comm";/*定义字符数组类型*/
chare[5]="food";/*定义字符数组类型*/
charf[5]="offi";/*定义字符数组类型*/
structgood/*定义结构体*/
{
intnum;/*商品编号*/
charname[20];/*商品名称*/
charkind[40];/*商品类型*/
floatprice;/*商品价格*/
charunit[10];/*商品单位*/
intquantity;/*商品数量*/
structgood*next;/*定义结构体指针类型*/
}*head,*p1,*p2;
structgood*createlist()/*创建链表函数*/
{
structgood*head1,*p1,*p2;/*定义结构体指针类型*/
if((fp=fopen("goodsmessage.txt","w"))==NULL)/*判断能否打开文件*/ {
printf("cannotopenthefile");
exit(0);/*结束程序*/
}
head1=(structgood*)malloc(sizeof(structgood));/*申请头结点空间*/ 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,p 1->unit,&p1->quantity);/*输入商品信息*/
printf("____________________\n");
p1->next=NULL;
fprintf(fp,"%d%s%s%f%s%d",p1->num,p1->name,p1->kind,p1->price,p 1->unit,p1->quantity);/*将商品信息写入文件*/
while(1)
{
p1=(structgood*)malloc(sizeof(structgood));/*申请新空间*/
printf("*********************************************\n");
printf("请输入信息:编号,名称,类型,价格,单位,数目\n");
printf("(以输入“-1”表示结束输入)\n");
printf("*********************************************\n");
printf("____________________\n");
scanf("%d",&p1->num);
if(p1->num==-1)/*申请空间结束条件*/
{
printf("____________________\n\n");
fprintf(fp,"%d",-1);
fclose(fp);
returnhead1;/*返回头指针*/
}
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,p 1->unit,p1->quantity);/*将商品信息写入文件*/
p1->next=NULL;
p2->next=p1;
p2=p1;