《超市管理系统完整+源代码》由会员分享,可在线阅读,更多相关《超市管理系统完整+源代码(21页珍藏版)》请在人人文库网上搜索。

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 /*输入,输出头文件*/ #include stdli。

3、b.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; /*。

4、商品编号*/char 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。

5、 open the file);exit(0); /*结束程序*/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。

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);printf( (以输入“1”表示结束输入)n);printf(*n);pri。

7、ntf(____________________n);scanf(%d,&p1-num);if(p1-num=-1) /*申请空间结束条件*/printf(____________________nn);fprintf(fp,%d,-1);fclose(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-。

8、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,*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-pr。

9、ice)(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;free(p6); /*释放第一个无效空间*/ return head2; void jisuan()p1=head;doif(strcmp(p1-kind,c)=0) /*判断是否为电器类型*/ sum0=sum0+(p1-price)*(p1-quantity); /*求。

10、电器总价*/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) /*判断是否为办公用品类型*/ sum2=sum2+(p1-price)*(p1-quantity); /*求办公用品总价*/a2=a2+p1-quantity; /*求办公用品总件数*/ if(strcmp(p1-kind,f)=0) /*判断是。

11、否为食品类型*/ 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); /*从文件中写到链表*/ while(1)p4=(struct good *)malloc(sizeof(struct good); /*申请头结点空间*/ fscanf(fp,%d ,&p4-num);if(p4-num!=。

12、-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) printf( %d %s %s %0.1f %s %dnn,p3-num,p3-name,p3-kind,p3-price,p3-unit,p3-quantity); printf(______。

13、____________________________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(请输入商品 编号 名称 类型 价格 单位 数目n);printf(*n); p4=(struct good。

14、 *)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(can not open the file);exit(0); /*结。

15、束程序*/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(*n); printf(__________________________________n);printf(-请按4返回-n);printf(__________________________________n);printf(*n); if(n=2。

16、) /*删除商品*/printf(*n); printf(请输入需要删除的商品编号n);printf(*n); scanf(%d,&p);printf(*n); printf(1 确认删除n2 取消删除n);printf(*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-。

17、next;p4=p4-next;if(fp=fopen(goods message.txt,w)=NULL) /*判断能否打开文件*/printf(can not open the file);exit(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。

18、=2)continue; /*继续循环*/printf(*n); printf(__________________________________n);printf(-请按4返回-n);printf(__________________________________n);printf(*n); if(n=3) /*修改某商品信息*/printf(请输入需要修改的商品编号n);scanf(%d,&q);while(p3!=NULL) /*判断循环结束条件*/if(p3-num)=q) /*判断是否为所需要修改的商品*/ printf(请输入商品单价与库存量(如果单价不变请输入原来的单价)n)。

19、;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(p3!=NULL) /*判断循环结束条件*/fprintf(fp,%d %s %s %f %s %d ,p3-num,p3-name,p3-kind,p3-price,p3-unit,p3-quantity); /*将商品信息写入文件*/p3=p3。

20、-next;fprintf(fp,%d,-1);fclose(fp); /*关闭文件*/printf(*n); printf(__________________________________n);printf(-请按4返回-n);printf(__________________________________n);printf(*n); if(n=4) /*退出*/break;printf(*n); printf(1 继续修改n-n2 返回n);printf(*n); scanf(%d,&p);if(p=1)continue; /*继续循环*/if(p=2)break; /*跳出循环*/。

21、while(n!=2);fclose(fp); /*关闭文件*/void printf0(struct good *p) /*遍历链表并打印电器类商品函数*/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(_________。

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

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

24、ind,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) /*判断遍历链表循环结束条件*/ if(strcmp(p3-kind,f)=0) /*判断商品类型是否为食品类型*/printf(%dt%st%st%。

25、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;iquantityname,p1-kind); /*输出商品名称及类别*/printf(________________________n);p1=p1-next;void tongji2()printf(n*n);printf(商品库存。

26、量有2种以上(含2种)低于100的商品类别:n);printf(*n);printf(________n);if(a0=2) /*判断电器类库存量是否为2种以上(含2种)低于100*/printf(电器n);printf(________n);if(a1=2) /*判断日用品类库存量是否为2种以上(含2种)低于100*/printf(日用品n);printf(________n);if(a2=2) /*判断食品类库存量是否为2种以上(含2种)低于100*/printf(食品n);printf(________n);if(a3=2) /*判断办公用品类库存量是否为2种以上(含2种)低于100*/。

27、printf(办公用品n);printf(________n);int main(int argc, char* argv)struct good *p1,*p2; /*定义结构体指针类型*/ while(1)printf(*n);printf(1 -输出查看或者修改已存信息-n);printf(-n);printf(2 -重新输入新信息(并且删除原有信息)-n);printf(-n);printf(3 统计商品信息(如果您还没有查看过信息请先按1)n); printf(-n);printf(4 -退出-n);printf(*n);scanf(%d,&m);if(m=1)shuchu(); /。

28、*调用输出信息函数*/if(m=2)system(cls);head=createlist(); /*调用建立链表函数*/ if(m=3)printf(统计结果如下n); head=paixu(head); /*调用链表排序函数*/ jisuan(); /*调用计算函数*/ shunxudayin(); /*调用顺序打印函数*/ tongji1(); /*调用统计1函数*/ tongji2(); /*调用统计2函数*/ if(m=4)p1=head;while(p1!=NULL) /*判断遍历链表结束条件*/p2=p1-next;free(p1); /*释放空间*/p1=p2;break;return 0; /*结束程序*/。

超市管理系统java代码,超市管理系统完整+源代码相关推荐

  1. 计算机毕业设计-springboot企业考勤管理系统(前后端分离)员工考勤管理系统-公司日常管理系统java代码

    计算机毕业设计-springboot企业考勤管理系统(前后端分离)员工考勤管理系统-公司日常管理系统java代码 注意:该项目只展示部分功能,如需了解,联系咨询即可. 作者:IT跃迁谷 1.开发环境 ...

  2. 计算机课程设计-基于ssm+vue的物资管理系统(前后端分离)-物资出库入库管理系统java代码

    计算机课程设计-基于ssm+vue的物资管理系统(前后端分离)-物资出库入库管理系统java代码 注意:该项目只展示部分功能,如需了解,评论区咨询即可. 作者:IT跃迁谷 1.开发环境 开发语言:Ja ...

  3. 计算机毕业设计-基于springboot的会员积分管理系统-会员等级管理系统java代码

    计算机毕业设计-基于springboot的会员积分管理系统-会员等级管理系统java代码 注意:该项目只展示部分功能,如需了解,评论区咨询即可. 1.开发环境 开发语言:Java 后台框架:Sprin ...

  4. PTA 超市贴花 Java代码

    PTA 超市贴花 Java代码 题目详情 某家超市有一种促销手段,购买金额超过一定阈值就随机给一个贴花.贴花有不同种类的,种类以编号表示,编号是一个1到100之间的数字.当收集到连续编号的三张贴花时, ...

  5. 计算机毕业设计-springboot停车场预约管理系统源码-停车位预约系统java代码-车位管理系统

    计算机毕业设计-springboot停车场预约管理系统源码-停车位预约系统java代码-车位管理系统 注意:该项目只展示部分功能,如需了解,评论区咨询即可. 作者:IT跃迁谷 1.开发环境 开发语言: ...

  6. 计算机毕业设计-基于ssm+vue的科研成果管理系统-高校科研管理系统java代码

    计算机毕业设计-基于ssm+vue的科研成果管理系统-高校科研管理系统java代码 注意:该项目只展示部分功能,如需了解,评论区咨询即可. 1.开发环境 开发语言:Java 架构:B/S 框架:SSM ...

  7. Java窗体图书管理系统Java图书借阅管理系统(图书借阅系统)

    Java窗体图书管理系统Java图书借阅管理系统(图书借阅系统)

  8. 学生成绩表c语言,学生成绩管理系统C语言(附完整源代码) .doc

    学生成绩管理系统C语言(附完整源代码) 课程设计报告 学生成绩管理系统 院系: 专业: 班级: 完成日期: 2009年1月03日 设计题目:学生成绩管理系统 目录 1.题目描述2.算法设计/设计思想3 ...

  9. HBase的java代码开发(完整源码)

    熟练掌握通过使用java代码实现HBase数据库当中的数据增删改查的操作,特别是各种查询,熟练运用 源码在最后!! 第一步:创建maven工程,导入jar包 <dependencies>& ...

  10. 图书管理系统jsp代码_【程序源代码】使用Java开发的图书管理系统

    关键字:java 管理系统  正文 | 内容 01 - [概述] 使用Java开发的图书管理系统,读者可以注册登录,登录时会判断账号类型再分别跳到各自对应的页面,读者可以查找,借阅,还书,查看历史借阅 ...

最新文章

  1. Scikit-learn 更新至 0.24 版,这 10 个新特性你需要了解
  2. 痞子衡嵌入式:常用的数据差错控制技术(2)- 奇偶校验(Parity Check)
  3. mysql维护索引_高性能的MySQL(5)索引策略-索引和表的维护
  4. HBase(五):HBase基本API操作之CRUD
  5. 未能捍卫科学家的奇思狂想,这家公司与3000亿美元失之交臂
  6. ssh转发代理:ssh-agent用法详解
  7. 《Linux内核设计与实现》读书笔记(12)--- 内存管理(2)
  8. python文件重命名加日期_Python文件创建日期和重命名 - 批评请求
  9. 【BZOJ2154】Crash的数字表格 [莫比乌斯反演]
  10. C语言输出单个汉字字符
  11. ios 长按 放大镜_如何在iOS 10中将iPhone的相机用作放大镜
  12. SQLServer bigint 转 int带符号转换函数(原创)
  13. html标签转换成json失败,在html中收到带有html标签的json失败PHP
  14. Scala核心编程 第六章—Scala面向对象编程(一)
  15. layui 单选框radio 监控事件
  16. 在 Linux 下开发和下载8051单片机程序
  17. 一文读懂软包电池的外观缺陷检测应用
  18. 前端匹配服务器地址修改文件,修改服务器的监听地址
  19. D55XT160-ASEMI大功率三相整流桥55A 1600V
  20. Carsim-与Simulink联合仿真时车辆穿模?(2) - 已解决

热门文章

  1. 数学建模酶促反应matlab求解,数学建模实验指导书2011
  2. Java实现下载图片
  3. aload、aload_1、iload都是什么意思
  4. 高德地图 热力图 清空地图
  5. Win32学习笔记(21)内存映射文件
  6. FastDFS原理和过程
  7. 利用PHP一步解决NAS的Heimdall导航页的内外网切换以及Openwrt等其他局域网ip的跳转
  8. 利用JS实现简单的注册界面验证小案例
  9. Lab07 南向协议AC-DCN esight
  10. 第三讲 地理空间数据的组成与特征