C语言商店商品管理系统设计报告与源代码.doc
文本预览下载声明
目 录
1 系统分析 2
1.1 课程设计内容 2
1.2 系统功能需求分析 2
1.3 数据结构设计 3
2 系统设计 3
2.1 总体设计 3
2.2 详细设计 4
2.2.1 界面设计 4
2.2.2 各功能模块的设计 6
3 系统编码设计 9
3.1 main函数 9
4 系统运行 22
5 总结 26
2.2 详细设计
2.2.1 界面设计
菜单设计
欢迎界面:
系统提示:
菜单设计:
输入界面的设计
信息显示界面的设计
2.2.2 各功能模块的设计
根据划分的功能模块,定义以下函数实现各功能:(这部分应介绍各函数的原型,各功能模块实现所用的算法,可用流程图描述)
主函数main()
定义主函数为空类型(void);利用选择结构(switch)实现在在主函数中的调用各个子函数,利用goto 和子函数中的return语句实现返回主菜单的循环。
声明各个子函数 输出欢迎界面 输出菜单 switch(m) 1 输入商品信息 2 排序商品信息 3 输入商品进货信息 4 输入商品销售信息 5 增加/删除商品 6 修改商品信息 7 查询商品信息 8 浏览商品信息 9 保存商品信息 清屏幕
子函数
void input(): 输入函数
确定新的库存量n,输入商品信息,用for循环语句直到输入商品种类等于n,结束输入;
scanf(n) for(i=0;i=n;i++) 将数据存入结构体成员 return
void sequence(): 排序函数
对已有的商品进行排序,可按商品编号、名称、类别进行排序;
long temp; char p1[30],p2[30]; 按编号排序 for(k=0;kn-1;k++);for(i=0;in-k-1;i++) if(goods[i].numgoods[i+1].num)
是 排序 输出排序后结果 按名称排序 for(k=0;kn-1;k++) for(i=0;in-k-1;i++) if(strcmp(goods[i].name,goods[i+1].name)0)
是 排序 输出排序后结果 按类别排序 for(k=0;kn-1;k++) for(i=0;in-k-1;i++) if(strcmp(goods[i].sort,goods[i+1].sort)0)
是 排序 输出排序后结果
void purchase(): 进货函数
进货函数主要是针对已有库存的商品,在原来的商品数量再增加:
for(i=0;in;i++) if(temp==goods[i].num);
是 输入数量 Return
void sale(): 销售函数
要求用户输入所销售的编号,系统用for 循环查询该商品是否存在,不存在要求再进行输入,直到输入正确,输出销售商品:
for(i=0;in;i++) if(k==goods[i].num)
if(agoods[i].count) 出现输入错误提示;重新输入scanf; for(i=0;in;i++) 输出销售商品
void edit(): 添加/删除商品
因为在进货函数已经实现对已有商品的数量的增加,此模块函数主要实现对新商品的添加或对旧商品的删除,并自动处理数据,可以在浏览中输出,用选择语句switch进行俩者操作的选择:
定义变量long temp; 声明函数void add(); void dele(); switch(k)
k=1 k=2 add(); dele(); break; break;
void correct(): 修改数据函数
对有错误信息商品进行修改,输入需要修改的商品编号,用for 循环与if语句找到此商品,重新输入该商品的新信息,并输出:
long temp; scanf(temp); for(i=0;in;i
显示全部