一、需求分析
(要求学生对课题进行分析,明确任务,设计出需要完成的功能等。)
1、课题名称
超市信息管理系统
2、任务概述
编写一个处理超市内商品信息的日常管理程序,能够实现商品信息的输入、
编辑、删除以及商品的浏览统计等功能。
3、设计目的
在超市管理中引进现代化管理系统,实现超市庞大商品的控制和传输,
从而方便销售行业的管理和决策,为超市和超市管理人员解除后顾之忧。
一款好的超市销售管理系统,应该是可以帮助销售部门提高工作效率,帮
助超市工作人员利用计算机,极为方便的对超市的有关数据进行管理、输
入、输出、查找等有关操作,使杂乱的超市数据能够具体化、直观化、合
理化等。
设计并实现超市信息管理系统。通过这样的题目培养和训练学生具有
基本信息管理系统的设计思想和实现能力,使学生达到系统理解、综合运
用课程知识的学习目标。
学会用 C 语言程序解决实际问题的方法,训练学生模块化程序设计的
思想,以及小组成员间的协调合作能力,学会较大程序的系统测试、调试
方法。
4、系统功能
程序功能如下:
1.文件操作:可建立、打开、保存、关闭数据文件。
2.输入商品信息数据:数据包括商品编号、商品名、商品类别、商品数量、
商品价格等。
3.编辑数据:可添加、删除、修改数据。
4.输入进货、销售信息:输入商品编号、数量完成进货或销售操作。
5.计算:应在输入进货及销售信息时,自动更改商品数量。
6.查询:可按商品编号、商品名或类别查询;还可查询需进货的商品。
7.排序:可按编号、名称或类型排序。
8.浏览:可浏览输入、查询或排序后的数据。
在系统中应增加一个用户管理模块,在其中可新增用户,修改用户信息等。
系统帮助。显示开发者姓名、班级、开发完成日期、版本号和指导老师等信息。
要求制作系统的各功能调用的主界面,并能从不同的功能模块退出时返回到
这主界面。主函数设计一个菜单,通过菜单进入各模块测试。各个选项分别代表
不同的功能,并由此进入到不同功能模块中。要求,从不同的功能模块退出时要
返回到这个功能界面。
设计要求:
学生 2 个人组成一个小组,要以模块化程序思想完成该系统,并要求明确分
工,合作完成。在设计过程中要有简要的使用手册和相关文档,便于他人使用和
今后的程序维护。
二、概要设计
(主要包括模块划分,模块之间的关系,程序框架和执行流程等。)
本次课程设计含有八个模块,主要包括文件操作、编辑数据、信息输入、
计算、查询、排序、浏览等。编辑数据模块与查询排序浏览之间的联系,而查询
模块是建立在输入编辑等模块之上的。
程序框架及执行流程:
1、主函数:main()
(由于主函数框架较长,予下页显示,并且分块显示)
(
接
上
)
开始
菜单
输入 m 值
执行相应功能代
码
m=5
用户登录
m=4
用户注册
m=6
显 示 开 发 者 信
息
内含:该系统的具
体 用 法 与 注 意 事
项
(接上)
结束
开始
菜单
输入 m 值
执行相应功能代
码
m=8
退出系统
m=7
显 示 开 发 者
信息
结束
2、链表函数 struct good *createlist()
开始
fp=fopen("goods
message.txt","w"
))==NULL?
Y
Y
输入 m= -1
( 结 束 输
入)
N
创建文件"goods message.txt"
fprintf(fp,"%d %s %s %f %s %d
",p1->num,p1->name,p1->kind,p
1->price,p1->unit,p1->quantity);
输入商品信
息
结束
fclose(fp);
3、商品信息排序函数 struct good *paixu(struct good*head2)
开始
struct
*p6,*p7,*r,*s
good
(fp=fopen("goods
message.txt","w"))=
=NULL ?
N
Y
Y
N
fp=fopen("goods message.txt",
"w");
p6=(struct
good)); p6->next=head2; head2=p6;
good
*)malloc(sizeof(struct
p7=p6->ne
xt;
r=p6;
Y
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;
p6->next!=NUL
p7->next!=NUL
Y
N
N
if((p7->next->price)>(r->next->price))
r=p7 ;p7->next;
Y
p6!=r
N