




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、G语言程序设纤实目:训超市I报管理系统院系:信息科技学院专业: 1 计算机科学与技术姓名:学号:指导教师:期:桂林电子科技大学信息科技学院.331问题定义2系统设计2.1总体设计2. 2详细设计数据结构设计 主控流程 信息输入模块 信息增加模块 信息修改模块 信息删除模块 信息查看模块 信息统计模块4453 系统实现程序预处理 主函数 main() 主菜单界面 商品信息建立 商品信息查看 商品信息增加 商品信息删除 商品信息修改 商品数目统计56.79 .1112141622概述程序测试4 系统维护5 归纳总结22222525252525256 参考资料25超市商品管理系统本题目设计目的是训练
2、学生的基本编程能力,了解管理信息系统的开发流程,熟悉 语言的单链表的各种基本操作。 本程序中涉及结构体、单链表、文件保存等方面的知识。通 过本程序的训练, 使学生能对 C 语言的链表的操作有一个更深刻的了解, 掌握利用单链表存 储结构实现对超市信息管理系统的原理, 为进一步开发出高质量的管理信息系统打下坚实的 基础。1、问题定义创建一个超市管理系统。 该程序具有保存商品信息、查询商品信息、修改商品信息、删 除商品信息、统计商品信息并具有自动判断商品价格、库存等的功能。超市管理系统主界面2、系统设计21 总体设计本程序采用模块化设计方法, 即将一个大任务分成一个个小任务, 然后分别设计个小任5
3、大模块组成:务。划分出来的模块相对独立而又相互关联,容易理解。本程序由1. 输入信息模块2.增加信息模块3.修改信息模块4.删除信息模块5.统计信息模块2 2 详细设计定义结构体struct goodint num;/*商品编号 */char name20;/*商品名称 */char kind40;/*商品类型 */float price;/*商品价格 */char unit10;/*商品单位 */int quantity;/*商品数量 */struct good *next;/*定义结构体指针类型 */*head,*p1,*p2;单链表 good 结构体struct good/*定义结构体*
4、/int num;/*商品编号 */char name20;/*商品名称*/char kind40;/*商品类型*/float price;/*商品价格 */char unit10;/*商品单位*/int quantity;/*商品数量 */struct good *next;/*定义结构体指针类型 */*head,*p1,*p2;主控 main() 函数执行流程Int main()struct good *p1,*p2;while(1) if(m=1)printf("*n");if(m=2)printf("*n");if(m=3)printf(&quo
5、t;*n");if(m=4)printf("*n");break;return 0;本商品管理系统执行主流程。它先以可读写的方式打开数据文件,此文件默认为 若该文件不存在,则新建此文件。当打开文件操作成功后,从文件中一次读出一条记录,然 后执行显示主菜单和进入主循环操作,进行按键判断。2.2.3 输入信息模块记录可以从以文件形式存储的数据文件中读入,也可从键盘逐个输入商品记录。 商品记录由商品的基本信息和成绩信息字段构成。当从数据文件中读入记录时, 也就是把在以记录为单位存储的数据文件中,将记录逐条复制到单链表中。2.2.4增加信息模块增加信息模块主要实现信息增加
6、2.2.5修改信息模块修改信息模块主要实现信息修改2.2.6删除信息模块删除信息模块主要实现信息删除2.2.7查看信息模块查看信息模块主要实现信息查看2.2.8统计信息模块统计信息模块主要实现信息统计2.2.9函数功能描述shuchu()shuchu() 函数用于输出商品信息。struct good *paixu(struct good*head2)此函数用于给链表排序。jisuan()jisuan() 函数用于判断商品的类别。printf0(struct good *p)printf0(struct good *p)函数用于遍历链表并打印电器类商品。printf1(struct good *
7、p)printf1(struct good *p)函数用于遍历链表并打印日用品类商品。printf2(struct good *p)printf2() 函数用于遍历链表并打印办公用品类商品。printf3(struct good *p)printf3 struct good *p ()函数用于遍历链表并打印食品类商品。shunxudayin()shunxudayin() 函数用于给商品排序并打印。tongji1()tongji1() 函数用于统计给库存量低于 100 的货名和类别。tongji2()tongji2() 函数用于统计商品库存量有 2 种以上(含两种)低于 100 的商品类别。完成
8、在上述系统设计后,即可着手进行系统实现的工作,开始程序代码的编写。3、系统实现 3 1 编码3 程序预处理包括加载头文件,定义结构体、常量和变量,并对它们进行初始化工作。FILE *fp;int n=0;/*定义文件指针类型 */int i,j,a4,m;/*定义整数类型 */定义浮点类型 */float aver4,sum4,g4,h; /*3 主函数 main()main() 函数主要实现了对整个程序的运行控制,以及相关功能模块的调用。Int main() struct good *p1,*p2;while(1) if(m=1)printf("*n");if(m=2)p
9、rintf("*n");if(m=3)printf("*n");if(m=4)printf("*n");break;return 0;3 主菜单界面用户进入商品管理系统时,需要显示主菜单,提示用户进行选择,完成相应任务。printf("桂林电子科技大学信息科技学院超市管理系统n");printf("*n");printf("1输出查看或者修改已存信息n");printf("n");printf("2重新输入新信息(并且删除原有信息)n"
10、);printf("n");printf("3 统计商品信息(如果您还没有查看过信息请先按1) n");printf("n");printf("4退出n");printf("*n");scanf("%d",&m);3.1.4 商品信息建立用户进入商品管理系统时,对某个商品的信息进行处理。struct good/*定义结构体*/int num;/*商品编号 */char name20;/*商品名称*/char kind40;/*商品类型*/float price;/*商
11、品价格 */char unit10;/*商品单位*/int quantity;/*商品数量 */struct good *next;/*定义结构体指针类型 */*head,*p1,*p2;struct good *createlist()/*创建链表函数 */struct good *head1,*p1,*p2;/*定义结构体指针类型 */printf("can not open the file");exit(0);/*结束程序 */head1=(struct good *)malloc(sizeof(struct good); /*申请头结点空间*/p1=head1;p
12、2=head1;printf("*n");n");printf(" 请输入信息 : 编号,名称,类型,价格,单位,数目printf("以输入“ 1”表示结束输入) n");printf("*n");n");printf("scanf("%d %s %s %f %s %d",&p1->num,p1->name,p1->kind,&p1->price,p1->unit,&p1->quantity);/*输入商品信息 */
13、n");printf("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");p
14、rintf("以输入“ 1”表示结束输入) n");printf("*n");n");printf("scanf("%d",&p1->num);if(p1->num=-1)/*申请空间结束条件 */nn");printf(" fprintf(fp,"%d",-1);fclose(fp);return head1;/*返回头指针 */scanf("%s %s %f %s %d",p1->name,p1->kind,&p
15、1->price,p1->unit,&p1->quantity); /* 输入商品信息 */n");printf("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;商品信息查看void shuchu()/*输出商品信息函数 */dostruct good *p3,*p4,
16、*p5; /*定义结构体指针类型*/int n=0,p=0,q=0,r=0;printf(" 所有商品信息: n");n");printf(" 编号,名称,类型,价格,单位,数目printf("*n");printf("can not open the file");exit(0);/*结束程序 */head=(struct good *)malloc(sizeof(struct good); /*申请头结点空间*/p3=head;fscanf(fp,"%d%s%s%f%s%d/*",&
17、p3->num,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!=-1)/*判断循环结束条件 */fscanf(fp,"%s%s%f%s%d",p4->name,p4->kind,&p4->price
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年自治区科技厅直属事业单位引进考试真题
- 修缮采购协议合同范本
- 兼职辅导老师合同范例
- 新能源汽车动力蓄电池系统构造与检修 项目三-课后习题带答案
- 劳务分包用工合同范本
- 公司销售渠道合同范本
- 农民玉米出售合同范本
- 2024年杭州银行招聘考试真题
- 2024年江西省人才服务有限公司招聘笔试真题
- 企业雇佣货车合同范本
- DB11T 852-2019 有限空间作业安全技术规范
- 最新2022年减肥食品市场现状与发展趋势预测
- 材料化学合成与制备技术
- DB23∕T 343-2003 国有林区更新造林技术规程
- 发展汉语初级综合1:第30课PPT课件[通用]
- 马工程西方经济学(第二版)教学课件-(4)
- 医疗废物管理组织机构架构图
- cjj/t135-2009《透水水泥混凝土路面技术规程》
- 社保人事专员绩效考核表
- 杭州育才小升初数学试卷(共4页)
- 旋挖桩主要施工方法及技术措施(全护筒)
评论
0/150
提交评论