有一个小型超市,出售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小时内删除。