C语言课程设计60454_第1页
C语言课程设计60454_第2页
C语言课程设计60454_第3页
C语言课程设计60454_第4页
C语言课程设计60454_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 I 沈阳航空航天大学 课课 程程 设设 计计 报报 告告 课程设计名称:C 语言课程设计语言课程设计 课程设计题目: 食品仓库库存管理程序 院(系):计算机学院 专 业:计算机科学与技术 班 级:14010104 学 号:2011040101157 姓 名:徐萍 指导教师: 张潞 完成日期: 2011年3月16日 沈阳航空航天大学课程设计报告 1 目目 录录 第一章第一章 需求分析需求分析.1 1.1 题目的内容与要求.1 1.2 题目分析 .1 第二章第二章 概要设计概要设计.1 2.1 总体结构.1 第三章第三章 详细设计详细设计.2 3.1 主模块.2 第四章第四章调试分析调试分析.6

2、 第五章第五章 使用说明与执行结果使用说明与执行结果.7 第六章第六章 参考文献参考文献.12 附附 录(程序清单)录(程序清单).13 沈阳航空航天大学课程设计报告 第一章 需求分析 1 第一章 需求分析 1.1 题目的内容与要求题目的内容与要求 内容:食品仓库库存管理系统 要求:选择一种数据结构,输入数据,保存食品仓库内的产品的编号、产地、计 量单位、单价、数量、进货日期、保质期等信息。有查询、添加、删除、和修改 商品信息的功能。以日为单位对产品的入库出库进行操作,并且产生统计报表。 根据当天的日期统计即将到期的库存商品,并打印备注清单。有易于使用的界面 菜单,便于查找。输入一个产品的编号

3、可以立即查找到信息。用 C 语言实现课题 任务内容,完成系统的设计、编码、和调试工作。按课程设计规范撰写课程设计 报告。 1.2 题目分析题目分析 通过题目,分析得到这个程序需要使用到结构体、链表、和函数等功能;系 统大概分为主菜单,查询系统,添加系统,删除系统,修改系统等。还含有对每 日商品的出库入库的统计。结构体用来保存商品的各种信息,如编号、产地、单 位、数量和进货日期、保质期等信息。用函数保存查询、增加、删除、修改等功 能,最后用链表连接起来。 沈阳航空航天大学课程设计报告 第 2 章 概要设计 1 第二章 概要设计 2.1 总体结构总体结构 本程序主要分为七个模块(功能模块图见图功能

4、模块图见图 1.1):查询模块、添加模块、 修改模块、删除产品、按日统计、到期产品和退出系统。 查询模块:通过产品编号查询产品信息。 添加模块:手动添加产品的编号、名称、价格等信息。 修改模块:手动修改产品的各种信息。 删除产品:通过产品编号查询产品然后删除。 按日统计:输入日期,统计每日的产品信息。 到期产品:列出即将到期的产品清单。 退出系统:退出主菜单 仓库管理系统主菜单 查 询 模 块 修 改 模 块 删 除 产 品 按 日 统 计 添 加 模 块 到 期 产 品 退 出 系 统 图图2.1主主菜菜单单系系统统功功能能模模块块图图 沈阳航空航天大学课程设计报告 第 3 章 详细设计 2

5、 第三章 详细设计 3.1 主模块主模块 控制整个程序的运行,控制菜单操作,通过主函数模块分别调用各个模块, 实现各项功能。 结构体:typedef struct information long num; char name30; char cd30; char dw30; float dj; int all; long jhrq; long bzrq; long rksj; struct information *next; IN; 产品名称、产地、单位等数组用来保存信息,用字符型变量 char 总数 num 用长整型变量 long num 产品单价是小数而不是整数所以用浮点型变量 flo

6、at dj 生产日期、保质期和存入日期等日期也用长整型变量 程序流程图如下: 沈阳航空航天大学课程设计报告 第 3 章 详细设计 3 开始 IN*p,*head=Creat() p=head-next p!=NULL Y 输出: 产品编号、产品名称 产品产地、产品单位 产品单价 产品保质期 产品进货日期 产品存入日期 N 输出: 欢迎使用沈航食品 管理系统 作者:徐 萍 查询产品 输入1 添加产品 输入 2 删除产品 输入 3 修改产品 输入 4 按日统计 输入 5 将到期产品 输入 6 退出系统 输入 7 输入您的选择 Case 1: 查询 Case 2: 添加 Case 3: 删除 Cas

7、e 4: 修改 Case 5: 按日 统计 Case 6: 统计 到期 产品 Case 7: 退出 输出: 欢迎下次使用! 结束 图图3.1 主主函函数数流流程程图图 沈阳航空航天大学课程设计报告 第 3 章 详细设计 4 开始 IN *p,*q,*w w=(IN *)malloc(N) 输入:产品编号 产品名称 产品产地 产品单位 产品单价 产品保质期 产品进货日期 产品存入日期 p-next!=NULL Y q=p; p=p-next; N q-next=w; w-next=p; p-next=NULL; 结束 图图3.2 添添加加函函数数流流程程图图 沈阳航空航天大学课程设计报告 第 3

8、 章 详细设计 5 开始 IN *p long fact 输入查询编号 p!=NULL p=head-next; Y fact=p-num Y 输出: 以下是为您 查 找 到 的 信 息 产 品 编 号 名 称 产 地 计 量 单 位 单价 数量 进货 日 期 保 质 日 期 入库时间 N N p=p-next; 结束 图图3.3 查查询询函函数数流流程程图图 沈阳航空航天大学课程设计报告 第 4 章 调试分析 6 第四章调试分析 在调试的过程中,我发现了许多问题。以下是调试过程中出现的问题和解决方 法。 1. 运行 scanf(%ld,的时候,缺break; case 2:zengjia(h

9、ead);break; case 3:shanchu(head);break; case 4:xiugai(head);break; case 5:rqtongji(head);break; case 6:dqcp(head);break; default:printf(没有这个选项!n);break; 解决:改成 switch(w) case 1:chaxun(head);break; case 2:zengjia(head);break; case 3:shanchu(head);break; case 4:xiugai(head);break; case 5:rqtongji(head)

10、;break; case 6:dqcp(head);break; default:printf(没有这个选项!n);break; 3. 运行是进入菜单的一个系统,无法返回主菜单,直接结束 解决:在 switch-case 前加一个空的 for 循环,使一直在程序菜单中循环。 for(;) 4. 完成之后无法结束调试 解决:在 switch-case 中再加一个 case 7:goto end; break; 沈阳航空航天大学课程设计报告 第 4 章 调试分析 7 在结尾加上 end:printf(欢迎您下次使用!n); 沈阳航空航天大学课程设计报告 第五章 使用说明与执行结果 8 第五章 使用

11、说明与执行结果 运行操作及结果:运行操作及结果: 请输入要录入多少条信息 3 请您输入产品编号:101 请您输入产品名称:矿泉水 请您输入产品产地:沈阳 请您输入产品计量单位:瓶 请您输入产品单价:1.5 请您输入产品数量:100 请您输入进货日期(如 20120110):20120101 请您输入保质期(如 20120110):20140101 请您输入存入本产品的时间(如 20120110):20120301 请您输入产品编号:102 请您输入产品名称:方便面 请您输入产品产地:沈阳 请您输入产品计量单位:袋 请您输入产品单价:3.2 请您输入产品数量:500 请您输入进货日期(如 201

12、20110):20120101 请您输入保质期(如 20120110):20130901 请您输入存入本产品的时间(如 20120110):2012031 请您输入产品编号:103 请您输入产品名称:雪糕 请您输入产品产地:沈阳 请您输入产品计量单位:个 沈阳航空航天大学课程设计报告 第五章 使用说明与执行结果 9 请您输入产品单价:2.5 请您输入产品数量:100 请您输入进货日期(如 20120110):20120101 请您输入保质期(如 20120110):20130101 请您输入存入本产品的时间(如 20120110):20120301 产品编号 101 产品名称矿泉水 产品的产地

13、沈阳 产品的计量单位瓶 产品的单价 1.50 产品数量 100 产品进货日期 20120101 产品的保质日期 20140101 入库的时间为:20120301 产品编号 102 产品名称方便面 产品的产地沈阳 产品的计量单位袋 产品的单价 3.20 产品数量 500 产品进货日期 20120101 产品的保质日期 20130901 入库的时间为:2012031 产品编号 103 产品名称雪糕 产品的产地沈阳 产品的计量单位个 产品的单价 2.50 产品数量 100 产品进货日期 20120101 沈阳航空航天大学课程设计报告 第五章 使用说明与执行结果 10 产品的保质日期 20130101

14、 入库的时间 20120301 * * 欢迎使用沈航食品管理系统 * * 作者:徐萍 * * * * 查询产品 输入 1 * * 添加产品 输入 2 * * 删除产品 输入 3 * * 修改产品 输入 4 * * 按日统计 输入 5 * * 统计即将到期的产品 输入 6 * * 退出管理系统 输入 7 * * * * * * 请输入您的选择:1 请输入要查询产品的编号:102 以下是为您查找到的信息: 产品编号 102 产品名称方便面 产品的产地沈阳 产品的计量单位袋 产品的单价 3.20 产品数量 500 产品进货日期 20120101 产品的保质日期 20130901 沈阳航空航天大学课程

15、设计报告 第五章 使用说明与执行结果 11 入库的时间为:2012031 * * 欢迎使用沈航食品管理系统 * * 作者:徐萍 * * * * 查询产品 输入 1 * * 添加产品 输入 2 * * 删除产品 输入 3 * * 修改产品 输入 4 * * 按日统计 输入 5 * * 统计即将到期的产品 输入 6 * * 退出管理系统 输入 7 * * * * * * 请输入您的选择:6 如下就是要到期的产品信息: 产品编号 103 产品名称雪糕 产品的产地沈阳 产品的计量单位个 产品的单价 2.50 产品数量 100 产品进货日期 20120101 产品的保质日期 20130101 入库的时间

16、为:20120301 * * 欢迎使用沈航食品管理系统 * 沈阳航空航天大学课程设计报告 第五章 使用说明与执行结果 12 * 作者:徐萍 * * * * 查询产品 输入 1 * * 添加产品 输入 2 * * 删除产品 输入 3 * * 修改产品 输入 4 * * 按日统计 输入 5 * * 统计即将到期的产品 输入 6 * * 退出管理系统 输入 7 * * * * * * 请输入您的选择:7 欢迎您下次使用! Press any key to continue 沈阳航空航天大学课程设计报告 第五章 使用说明与执行结果 13 第六章 参考文献 1 张长海. C 语言程序设计M . 北京:高

17、等教育出版社,2006 2 王士元. C 高级实用程序设计. 北京:清华大学出版社.1996 3 严蔚敏. 数据结构(C 语言版)M.北京:清华大学出版社,2002 4 谭浩强. C 程序设计. 北京:清华大学出版社.2000 5 谭浩强. C 语言习题集与上机指导. 北京:清华大学出版社.2006 沈阳航空航天大学课程设计报告 附录 14 附 录(程序清单) #include #include #include #define N sizeof(struct information) typedef struct information long num; char name30; char

18、 cd30; char dw30; float dj; int all; long jhrq; long bzrq; long rksj; struct information *next; IN; void chaxun(IN *head); void zengjia(IN *head); void shanchu(IN *head); 沈阳航空航天大学课程设计报告 附录 15 void xiugai(IN *head); void rqtongji(IN *head); void dqcp( IN *head); IN *Creat() IN *head,*p,*q; int i,n=0;

19、 printf(请输入要录入多少条信息n); scanf(%d, head=p=(IN *)malloc(N); while(i!=n) q=(IN *)malloc(N); printf(请您输入产品编号:); scanf(%ld, printf(请您输入产品名称:); scanf(%s,q-name); printf(请您输入产品产地:); scanf(%s,q-cd); printf(请您输入产品计量单位:); scanf(%s,q-dw); 沈阳航空航天大学课程设计报告 附录 16 printf(请您输入产品单价:); scanf(%f, printf(请您输入产品数量:); scan

20、f(%d, printf(请您输入进货日期(如 20120110):); scanf(%ld, printf(请您输入保质期(如 20120110):); scanf(%ld, printf(请您输入存入本产品的时间(如 20120110):); scanf(%ld, p-next=q; p=q; n+; p-next=NULL; return(head); void chaxun(IN *head) IN *p; long fact; 沈阳航空航天大学课程设计报告 附录 17 printf(请输入要查询产品的编号:); scanf(%ld, p=head-next; while(p!=NUL

21、L) if(fact=p-num) printf(t 以下是为您查找到的信息:n); printf(t 产品编号%ldn,p-num); printf(t 产品名称%sn,p-name); printf(t 产品的产地%sn,p-cd); printf(t 产品的计量单位%sn,p-dw); printf(t 产品的单价%.2fn,p-dj); printf(t 产品数量%dn,p-all); printf(t 产品进货日期%ldn,p-jhrq); printf(t 产品的保质日期%ldn,p-bzrq); printf(t 入库的时间为:%ldn,p-rksj); p=p-next; 沈阳

22、航空航天大学课程设计报告 附录 18 void zengjia( IN *head) IN *p,*q,*w; w=(IN *)malloc(N); printf(请您输入产品编号:); scanf(%ld, printf(请您输入产品名称:); scanf(%s,w-name); printf(请您输入产品产地:); scanf(%s,w-cd); printf(请您输入产品计量单位:); scanf(%s,w-dw); printf(请您输入产品单价:); scanf(%f, printf(请您输入产品数量:); scanf(%d, printf(请您输入进货日期(如 20120110):

23、); scanf(%ld, printf(请您输入保质期(如 20120110):); scanf(%ld, printf(请您输入存入本产品的时间(如 20120110):); 沈阳航空航天大学课程设计报告 附录 19 scanf(%ldn, p=head-next; while(p-next!=NULL) q=p; p=p-next; q-next=w; w-next=p; p-next=NULL; void shanchu(IN *head) IN *p,*q; long fact; printf(请你输入要删除产品的编号:); scanf(%ld, p=head-next; while

24、(p!=NULL 沈阳航空航天大学课程设计报告 附录 20 p=p-next; q-next=p-next; void xiugai(IN *head) IN *p,*q,*w; long fact; printf(请输入要修改产品的编号:); scanf(%ld, p=head-next; while(fact=p-num) q=p; p=p-next; w=(IN *)malloc(N); printf(请您输入修改的产品编号:); scanf(%ld, printf(请您输入修改的产品名称:); scanf(%s,w-name); 沈阳航空航天大学课程设计报告 附录 21 printf(

25、请您输入修改的产品产地:); scanf(%s,w-cd); printf(请您输入修改的产品计量单位:); scanf(%s,w-dw); printf(请您输入修改的产品单价:); scanf(%f, printf(请您输入修改的产品数量:); scanf(%d, printf(请您输入修改的进货日期(如 20120110):); scanf(%ld, printf(请您输入修改的保质期(如 20120110):); scanf(%ld, printf(请您输入修改的存入本产品的时间(如 20120110):); scanf(%ldn, q-next=w; w-next=p; void r

26、qtongji(IN *head) IN *p; p=head-next; 沈阳航空航天大学课程设计报告 附录 22 long fact; printf(请输入要统计的时间:); scanf(%ld, while(p!=NULL) if(p-rksj=fact) printf(产品编号%ldn,p-num); printf(产品名称%sn,p-name); printf(产品的产地%sn,p-cd); printf(产品的计量单位%sn,p-dw); printf(产品的单价%.2fn,p-dj); printf(产品数量%dn,p-all); printf(产品进货日期%ldn,p-jhrq

27、); printf(产品的保质日期%ldn,p-bzrq); printf(入库的时间为:%ld,p-rksj); p=p-next; 沈阳航空航天大学课程设计报告 附录 23 void dqcp( IN *head) IN *p; long fact=1000000000; p=head-next; while(p!=NULL) if(p-bzrqbzrq; p=p-next; p=head-next; while(p!=NULL) if(p-bzrq=fact) printf(如下就是要到期的产品信息:n); printf(产品编号%ldn,p-num); printf(产品名称%sn,p

28、-name); 沈阳航空航天大学课程设计报告 附录 24 printf(产品的产地%sn,p-cd); printf(产品的计量单位%sn,p-dw); printf(产品的单价%.2fn,p-dj); printf(产品数量%dn,p-all); printf(产品进货日期%ldn,p-jhrq); printf(产品的保质日期%ldn,p-bzrq); printf(入库的时间为:%ld,p-rksj); p=p-next; void main() IN *p,*head=Creat(); p=head-next; while(p!=NULL) printf(产品编号%ldn,p-num)

29、; printf(产品名称%sn,p-name); printf(产品的产地%sn,p-cd); printf(产品的计量单位%sn,p-dw); 沈阳航空航天大学课程设计报告 附录 25 printf(产品的单价%.2fn,p-dj); printf(产品数量%dn,p-all); printf(产品进货日期%ldn,p-jhrq); printf(产品的保质日期%ldn,p-bzrq); printf(入库的时间为:%ld,p-rksj); p=p-next; for(;) int w; printf( *n); printf( * 欢迎使用沈航食品管理系统 *n); printf( * 作者:徐萍 *n); printf( * *n); printf( * 查询产品 输入 1 *n); printf( * 添加产品 输入 2 *n); printf( * 删除产品 输入 3 *n); printf( * 修改产品 输入 4 *n); printf( * 按日统计 输入 5

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论