有一个小型超市,出售NN>=10种商品,设计并实现一个系统,完成下列功能:
1. 保存及输出;超市中的各种商品信息保存在指定文件中,可以把它们输出显示;
2. 计算并排序;计算每类商品的总价值sum,单精度及平均价aver,单精度,输出一位小数,将每类商品按平均价从大到小的顺序排序打印出来;
3. 统计;统计输出库存量低于100的货号及类别;统计输出有两种以上含两种商品库存量低于100的商品类别;
总体结构
本程序主要分为八个模块:主模块、信息输出修改模块、新建信息模块、排序模块、计算模块、统计模块1、统计模块2、打印模块;
1 主模块:通过调用各分模块实现功能;
2 信息输出修改模块:输出显示文件中商品信息内容,添加商品信息,删除商品信息,修改商品信息;结构体sizeof
3 新建商品信息模块:建立一个新结构体,为链表存信息用,并且将信息保存在指定的文件中;
4 排序模块:把文件中顺序零乱的商品信息按单价的大小从高到低进行排序,放到链表里存储;
5 计算模块:将所有商品的价格与库存量进行累加求和;
6 打印模块:将商品信息按每类平均价格排序从高到低按顺序打印出来;
7 统计模块1:统计库存量低于100的货名及类别;
8 统计模块2:统计商品库存量有2种以上含2种低于100的商品类别;
附 录程序清单
include "" /输入,输出头文件/
include "" /申请空间头文件/
include "" /对字符串加工头文件/
include "" /清屏头文件/
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 name20; /商品名称/
char kind40; /商品类型/
float price; /商品价格/
char unit10; /商品单位/
int quantity; /商品数量/
struct good next; /定义结构体指针类型/
}head,p1,p2;
struct good createlist /创建链表函数/
{
struct good head1,p1,p2; /定义结构体指针类型/
iffp=fopen"goods ","w"==NULL /判断能否打开文件/
{
printf"can not open the file";
exit0; /结束程序/
}
head1=struct good mallocsizeofstruct 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; /输入商品信息/
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论