- 1、本文档共27页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
目 录
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;k<n-1;k++);for(i=0;i<n-k-1;i++) if(goods[i].num>goods[i+1].num)
是 排序 输出排序后结果 按名称排序 for(k=0;k<n-1;k++) for(i=0;i<n-k-1;i++) if(strcmp(goods[i].name,goods[i+1].name)>0)
是 排序 输出排序后结果 按类别排序 for(k=0;k<n-1;k++) for(i=0;i<n-k-1;i++) if(strcmp(goods[i].sort,goods[i+1].sort)>0)
是 排序 输出排序后结果
void purchase():< 进货函数 >
进货函数主要是针对已有库存的商品,在原来的商品数量再增加:
for(i=0;i<n;i++) if(temp==goods[i].num);
是 输入数量 Return
void sale():< 销售函数 >
要求用户输入所销售的编号,系统用for 循环查询该商品是否存在,不存在要求再进行输入,直到输入正确,输出销售商品:
for(i=0;i<n;i++) if(k==goods[i].num)
if(a>goods[i].count) 出现输入错误提示;重新输入scanf; for(i=0;i<n;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;i
文档评论(0)