1、2系统设计2.1总体设计2. 2详细设计数据结构设计 主控流程 信息输入模块 信息增加模块 信息修改模块 信息删除模块 信息查看模块 信息统计模块3 系统实现超市商品管理系统本题目设计目的是训练学生的基本编程能力,了解管理信息系统的开发流程,熟悉 语言的单链表的各种基本操作。 本程序中涉及结构体、单链表、文件保存等方面的知识。通 过本程序的训练, 使学生能对 C 语言的链表的操作有一个更深刻的了解, 掌握利用单链表存 储结构实现对超市信息管理系统的原理, 为进一步开发出高质量的管理信息系统打下坚实的 基础。1、问题定义创建一个超市管理系统。 该程序具有保存商品信息、查询商品信息、修改商品信息、
2、删 除商品信息、统计商品信息并具有自动判断商品价格、库存等的功能。超市管理系统主界面2、系统设计21 总体设计本程序采用模块化设计方法, 即将一个大任务分成一个个小任务, 然后分别设计个小任5 大模块组成:务。划分出来的模块相对独立而又相互关联,容易理解。本程序由1. 输入信息模块2.增加信息模块3.修改信息模块4.删除信息模块5.统计信息模块2 2 详细设计定义结构体struct goodint num;/*商品编号 */char name20;商品名称 */char kind40;商品类型 */float price;商品价格 */char unit10;商品单位 */int quanti
3、ty;商品数量 */struct good *next;定义结构体指针类型 */*head,*p1,*p2;单链表 good 结构体*/商品名称商品类型商品单位主控 main() 函数执行流程Int main()struct good *p1,*p2;while(1) if(m=1)printf(*n);if(m=2)if(m=3)if(m=4)break;return 0;本商品管理系统执行主流程。它先以可读写的方式打开数据文件,此文件默认为 若该文件不存在,则新建此文件。当打开文件操作成功后,从文件中一次读出一条记录,然 后执行显示主菜单和进入主循环操作,进行按键判断。2.2.3 输入信息
4、模块记录可以从以文件形式存储的数据文件中读入, 也可从键盘逐个输入商品记录。 商品记录由商品的基本信息和成绩信息字段构成。 当从数据文件中读入记录时, 也就是把在以记录为单位存储的数据文件中,将记录逐条复制到单链表中。2.2.4增加信息模块主要实现信息增加2.2.5修改信息模块主要实现信息修改2.2.6删除信息模块主要实现信息删除2.2.7查看信息模块查看信息模块主要实现信息查看2.2.8统计信息模块主要实现信息统计2.2.9函数功能描述shuchu()shuchu() 函数用于输出商品信息。struct good *paixu(struct good*head2)此函数用于给链表排序。jis
5、uan()jisuan() 函数用于判断商品的类别。printf0(struct good *p)printf1(struct good *p)printf2(struct good *p)printf2() 函数用于遍历链表并打印办公用品类商品。printf3(struct good *p)shunxudayin()shunxudayin() 函数用于给商品排序并打印。tongji1()tongji1() 函数用于统计给库存量低于 100 的货名和类别。tongji2()tongji2() 函数用于统计商品库存量有 2 种以上(含两种)低于 100 的商品类别。完成在上述系统设计后,即可着手
6、进行系统实现的工作,开始程序代码的编写。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;3 主菜单界面用户进入商品管理系统时,需要显示主菜单,提示用户进行选择,完成相应任务。*nscanf(%d,&m);3.1.4
7、商品信息建立用户进入商品管理系统时,对某个商品的信息进行处理。can not open the filep1=head1;p2=head1;*nn 请输入信息 : 编号,名称,类型,价格,单位,数目%d %s %s %f %s %dp1-num,p1-name,p1-kind,&price,p1-unit,&qnext=NULL;商品信息写入文件 */while(1) 编号,名称,类型,价格,单位,数目 nnum);nn fprintf(fp,-1);fclose(fp);%s %s %f %s %d,p1-quantity); /* 输入商品信息 */品信息写入文件 */p2-next=p1;p2=p1;商品信息查看void shuchu()输出商品信息函数 */dostruct good *p3,*p4,*p5;定义结构体指针类型int n=0,p=0,q=0,r=0; 所有商品信息: n*np3=head;p3-num,p3-name,p3-price,p3-从文件中写到链表 */fscanf(fp,%d p4-next=p4;p3=p4;else p3-关闭文件 */while(p3!=NULL) p3=p3-next; 3.2.13.2.2 C 程序设计 (第三版) .清华大学出版社,2005
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1