版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 C语言程序设计实训报告 实训题目: 仓库管理系统 专业: 班级: 姓名: 成绩: 一:需求分析1:问题该系统所应包含的信息有以下一些:产品,仓库。根据需求,该系统所应实现的功能有以下一些:输入密码进入操作界面产品入库,产品出库。查询指定仓库编号的入库记录查询指定产品编号的入库记录查询指定入库时间的入库记录查询指定仓库编号的出库记录查询指定产品编号的出库记录查询指定出库时间的出库记录查询仓库中的产品是否过期可以在操作过程中修改密码2、系统 采用C语言实现,开发环境为VC,可以运行在操作系统windows98及以上皆可。3.运行要求1)可以进行随便操作,不受限制。
2、2)界面友好,操作方便,例如在进行产品出入库和查询时有提示操作。二、总体设计1、系统流程设计根据系统要求,设计如下的系统流程 2.系统模块设计如下,有三大基本功能:1出库2入库3查询 仓库管理产品入库产品出库查询指定仓库入库记录查询指定仓库出库记录查询指定产品入库记录查询指定产品出库记录判断仓库和产品编号是否存在判断入库日期是否合法判断入库数量是否大于零判断字符长度判断闰年与非闰年判断每月天数是否合法判断仓库和产品编号是否存在判断出库日期是否合法判断入库数量是否大于零判断出库数量是否大于零判断是否小于当前库存量判断字符长度判断闰年与非闰年判断每月天数是否合法查询指定年月日的出入库查询修改密码输
3、入密码三:总体思路菜单显示:实现操作某功能时有相应的提示。功能选择:每一种功能用相应的操作数字相对应。产品出入库:在原有链表的基础上进行插入操作。查询记录:调用对应的查询函数来实现。四:详细设计1:定义结构体变量日期:struct warehouseint wnum;char wname20;char changename20;wh5;产品:struct productint pnum;char pname20;char norms10;pr10;链表:struct manageint wnum;int pnum;char data15;int number;int operate;struc
4、t manage *next; 为了能实现不受限制的产品出入库,采用链表的结构保存产品的信息,在增加产品出入库时,创建一个新的节点,将其插入到链表中,示意图如下。Wnum,pnum,data15, Number,operate nextWnum,pnum,Number,operate nextWnum,pnum, NULLNumber,operate 2:模块化设计进入设计:以输入密码的方式进入,最多可输入三次,如果第三次输入错误,系统将自动退出。这样保证了仓库管理这一程序操作的保密性,保证了仓库管理的安全性。下一次输入正确的密码进入,先显示出仓库的信息,如下图:闪动经大约5-8秒后进入主界面
5、。主界面实现:void screen();/*菜单界面函数*/ 模块功能:来清晰的实现人机对话完成不同功能的选择。每完成相应操作都会清空界面。用户输入菜单项前面的数字,主菜单消失,进入该模块的相应界面,进行相应的操作,完成后,回到主界面。产品入库:struct manage *Instore(struct manage *); /*插入入库链表函数*/调用此函数整体实现产品入库。1、 日期格式合法性:int date(char data); /*日期格式是否合法函数*/模块功能:判断长度是否为十,第五位和第八位是否为-,通过atoi()分离日期字符串保存到日期结构体中调用闰年函数、月份和月份天
6、数的合法性函数。各函数返回1或0来判断成立与否。2、 闰年判断:int Isleapyear(int ); /*判断是否为闰年函数*/是闰年返回1,否返回0.3、 月份和天数合法判断:int numday(struct data ); /*判断输入天数是否合法函数*/ 模块功能:定义一个月份数组t13=0,31,28,31,30,31,30,31,31,30,31,30,31、调用闰年函数判断年份当为闰年且为二月时注意t2要加1.月份要小于12,月份结构体中天数要小于每月天数。成立返回1,不成立返回0.4、 产品编号和仓库编号、入库数量判断:int number(struct manage *
7、); /*判断仓库和产品号存在和入库数量函数*/模块功能:循环查询仓库数组和产品数组来判读编号是否存在。产品出库:struct manage *Outstore(struct manage *); /*插入出库链表函数*/ 大致和入库一样,但要多调用判断库存量函数。1:查询库存量函数:int Search(struct manage *,struct manage *);模块功能:当链表不为空,逐个比较结点存在入库记录则得到入库数量,存在出库记录得到出库数量,两者差比较如果大于0返回1,反之返回0.查询仓库记录:void searchwarehouse(struct manage *,int)
8、; /*查询记录函数*/模块功能:输入你要查询的仓库编号和操作类型调用链表来实现查询。存在调用打印函数。查询你产品记录:void searchproduct(struct manage *,int);/*查询产品记录*/模块功能:输入你要查询的产品编号和操作类型调用链表来实现查询。存在调用打印函数。打印记录:void print(struct manage *); /*输出记录函数*/ 模块功能:输出记录。 四:测试结果1:产品入库 输入10001 11001 12 12,测试结果 原因:输入日期长度不满足10.输入10001 11001 2004-02-30 1,测试结果原因:闰年二月份天数
9、超过了29.输入10001 11001 2000-13-12 12,测试结果原因:月份超过了12。输入1 11001 2000-11-11 12,测试结果 原因:仓库编号错误。输入10001 11001 2000-12-12 12,测试结果入库成功。2:产品出库输入 10002 11001 2001-12-12 12,测试结果原因:10002仓库中没有此产品。输入10001 11001 2007-12-12 50,测试结果 原因:库存量小于50输入10001 11001 2001-12-12 11,测试结果出库成功。3.查询仓库的入库记录输入仓库编号 10005,测试结果原因:仓库没有入库记录
10、。输入仓库编号10001,测试结果结果如上。4:查询仓库的出库记录 输入10002,测试结果输入10003,测试结果如下:原因:没有库存量输入10001,测试结果打印多条记录。5:查询产品入库记录输入11001,测试结果输入11003,测试结果原因:不存在产品入库记录。6:查询产品出库记录输入10001,测试结果7:查询指定日期的出库和入库记录输入2000-12-12输入2005-01-01原因:该时间没有入库和出库记录。8修改密码 修改密码操作采用网上大多数网站的密码修改模式。即先输入原密码,再输入要修改的密码两次,第一次输后,第二次输入的要和第一次相同,以便确认其正确性。修改时输入原密码共
11、有三次机会,以保证安全性,如果三次输入全错,系统自动退出,操作如下:正确修改密码如下;9:查询产品是否过期输入年份为2001,月份为01,天数为02,其结果如下:10按0退出程序,这一步并不是简单的退出了程序,而是在退出之前,进行了内存空间的释放。其代码如下:void freerecord(struct manage *head)struct manage *p=head; while(head) /*释放内存*/ head=head->next;free(p);p=head; 五:实训总结实训感想:通过实训我感觉到自己动手编程能力的提高,把自己课堂上学到的知识应用于实践中,在编程过程中经常遇到问题,但在老师耐心指导下一个一个的解决了,每次的练习都增长了新知识当我一个程序运行处结果时我激动不已,这也逐渐培养了我对学习C语言的兴趣,尤其是这次综合练习更是让我看到精通C语言还有很多路要走,虽然实训即将结束但我学习C语言的脚步不会停止,我还会继续上机培养我的编程能力。借
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 ISO/IEC 18181-3:2025 EN Information technology - JPEG XL image coding system - Part 3: Conformance testing
- 二零二五版建筑安装工程节能评估合同模板2篇
- 二零二五年机关单位劳动合同续签与解约操作指南3篇
- 二零二五版海洋工程船舶维修保险合同3篇
- 二零二五年度教育培训机构借款合同范本:助力教育产业发展3篇
- 二零二五年红提葡萄品牌推广与销售代理合同3篇
- 二零二五版股权投资合作终止后的股权转让合同2篇
- 二零二五版保育员家庭服务与职业发展合同3篇
- 二零二五年度文化创意产业劳动保障监察与管理规范合同3篇
- 二零二五版地下管廊钢筋施工分包合同范本3篇
- 奶茶督导述职报告
- 山东莱阳核电项目一期工程水土保持方案
- 白熊效应(修订版)
- 小学数学知识结构化教学
- 视频监控维保项目投标方案(技术标)
- 社会组织能力建设培训
- 立项报告盖章要求
- 2022年睾丸肿瘤诊断治疗指南
- 被执行人给法院执行局写申请范本
- 主变压器试验报告模板
- 安全防护通道施工方案
评论
0/150
提交评论