ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:185.92KB ,
资源ID:5722279      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5722279.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(超市管理系统完整+源代码.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

超市管理系统完整+源代码.docx

1、超市管理系统完整+源代码有一个小型超市,出售 N (N = 10)种商品,设计并实现一个系统,完成下列功能: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 的商品类别 附 录(程序清单)#

3、include stdio.h/*输入,输出头文件 */#include 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;/

4、*定义字符数组类型 */struct good/* 定义结构体 */int num;/* 商品编号 */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

5、)printf(can not open the file);exit(0); /* 结束程序 */* 判断能否打开文件 */head1=(struct good *)malloc(sizeof(struct good);/* 申请头结点空间 */p1=head1;p2=head1;printf(H*n);printf( 请输入信息 :编号,名称,类型,价格,单位,数目 n);printf(H*n);printf( n);scanf(%d %s %s %f %s %d,&p1-num,p1-name,p1-kind,&p1-price,p1- unit,&p1-quantity); /* 输入

6、商品信息 */printf( n);p1-next=NULL;fprintf(fp,%d %s %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);scanf(%d,&p1-num);printf( nn);fprintf(fp,%d,-1);fclose(fp);r

7、eturn head1;/* 返回头指针 */ scanf(%s %s %f %s %d,p1-name,p1-kind,&p1-price,p1-unit,&p1-qua ntity); /* 输入商品信息 */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) /* 链表排序函数 */struc

8、t good *p6,*p7,*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-ne

9、xt;p6=head2;head2=head2-next;free(p6); /* 释放第一个无效空间 */return head2;void jisuan()p1=head;dosum0=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

10、-kind,e)=0) /* 判断是否为办公用品类型 */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

11、,p3-kind,&p3-price,p3-unit,&p3-quantity);/*从文件中写到链表 */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

12、-next=NULL;break;fclose(fp); /* 关闭文件 */p3=head; while(p3!=NULL)printf( %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);while(n!=4)p3=head;printf(1 添加商品信息 n);printf(2 删除某商品信息 n);printf(3 修改某商品信息 n);n);printf(* n);scanf(%d,&n);单位 数目 n);/* 申

13、请空间 */printf( 请输入商品 编号 名称 类型 价格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) /

14、* 判断能否打开文件 */printf(can not open the file);exit(0); /*结束程序 */while(p3!=NULL) fprintf(fp,%d %s %s %f %s %d,p3-num,p3-name,p3-kind,p3-price,p3-unit,p3-quantity) /*将商品信息写入文件 */p3=p3-next; fprintf(fp,%d,-1);fclose(fp); /* 关闭文件 */printf(H*n);printf( n);printf( 请按 4 返回 n);printf( n);if(n=2) /*删除商品 */print

15、f( 请输入需要删除的商品编号 n);scanf(%d,&p);printf(1 确认删除 n2 取消删除 n);scanf(%d,&r);if(r=1)if(head-num)=p)head=head-next;free(p3); /*释放空间 */elsep4=head; p3=p4-next;/* 判断循环结束条件 */while(p3!=NULL)if(p3-num)=p) p5=p3-next;free(p3); /*释放空间 */ p4-next=p5;break;p3=p3-next;p4=p4-next;开文件 */printf(can not open the file);e

16、xit(0); /*结束程序 */ p3=head;while(p3!=NULL) /*判断循环结束条件 */fprintf(fp,%d %s %s %f %s %d,p3-num,p3-name,p3-kind,p3-price,p3-unit,p3-quantity); /*将商品信息写入文件 */p3=p3-next;fprintf(fp,%d,-1);fclose(fp); /* 关闭文件 */if(r=2)continue; /* 继续循环 */printf(H*n);printf( n);printf( 请按 4 返回 n);printf( n);printf( 请输入需要修改的商

17、品编号 n);scanf(%d,&q);while(p3!=NULL) /*判断循环结束条件 */if(p3-num)=q) /*判断是否为所需要修改的商品 */printf( 请输入商品单价与库存量 (如果单价不变请输入原来的单价) n);scanf(%f %d,&p3-price,&p3-quantity); /* 输入商品价格与库存量 */p3=p3-next;if(fp=fopen(goods message.txt,w)=NULL) /* 判断能否打开文件 */printf(can not open the file);exit(0); /*结束程序 */p3=head;while(

18、p3!=NULL) /* 判断循环结束条件 */fprintf(fp,%d %s %s %f %s %d ,p3-num,p3-name,p3-kind,p3-price,p3-unit,p3-quantity); /*将商品信息写入文件 */p3=p3-next; fprintf(fp,%d,-1);fclose(fp); /* 关闭文件 */printf( n);printf( 请按 4 返回 n);printf( n);break;scanf(%d,&p);if(p=1)continue; /* 继续循环 */while(n!=2);void printf0(struct good *p

19、) /* 遍历链表并打印电器类商品函数 */struct good *p3; /* 定义结构体指针类型 */p3=p;while (p3!=NULL) /*判断遍历链表循环结束条件 */if(strcmp(p3-kind,c)=0) /* 判断商品类型是否为电器类型 */printf(%dt%st%st%0.1ft%st%dn,p3-num,p3-name,p3-kind,p3-price, p3-unit,p3-quantity); /* 输出电器类商品信息 */printf( n); p3=p3-next;return;void printf1(struct good *p) /* 遍历链

20、表并打印日用品类商品函数 */struct good *p3; /* 定义结构体指针类型 */p3=p;printf(%dt%st%st%0.1ft%st%dn,p3-num,p3-name,p3-kind,p3-price,p3-unit,p3-quantity); /* 输出日用品类商品信息 */printf( n); p3=p3-next;return;void printf2(struct good *p) /* 遍历链表并打印办公用品类商品函数 */struct good *p3; /* 定义结构体指针类型 */p3=p;while (p3!=NULL) /*判断遍历链表循环结束条件

21、 */if(strcmp(p3-kind,e)=0) /* 判断商品类型是否为办公用品类型 */printf(%dt%st%st%0.1ft%st%dn,p3-num,p3-name,p3-kind,p3-price,p3-unit,p3-quantity); /* 输出办公用品类商品信息 */printf( n); p3=p3-next; return;void printf3(struct good *p) /* 遍历链表并打印食品类商品函数 */struct good *p3; /* 定义结构体指针类型 */p3=p;while (p3!=NULL) /*判断遍历链表循环结束条件 */i

22、f(strcmp(p3-kind,f)=0) /* 判断商品类型是否为食品类型 */printf(%dt%st%st%0.1ft%st%dn,p3-num,p3-name,p3-kind,p3-price, p3-unit,p3-quantity); /*输出食品类商品信息 */printf( n);p3=p3-next;return;void shunxudayin()for(i=0;i4;i+)gi=averi; /* 将平均价赋给新数组 */for(i=j+1;i4;i+)if(gjgi)h=gj;gj=gi;gi=h;printf( 商品平均价格排序表(从高到低) n);printf( n);printf( 编号 t 名称 t 类别 t 单价 t 单位 t 数量 n);printf( n);for(j=0;j4;j+)for(i=0;iquantityname,p1-kind); /* 输出商品名称及类别 */printf( n);p1=p1-next;void tongji2()printf( n);printf( 食品 n);printf( n);/*判断办公用品类 if(a3=2)库存量是否为 2 种以上(含 2 种)低于 100*/printf( 办公用

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1