




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 兰州商学院陇桥学院兰州商学院陇桥学院 工学系课程设计报告工学系课程设计报告 课课 程程 名名 称:称:高级程序设计语言课程设计高级程序设计语言课程设计 设设 计计 题题 目:目:商店存货管理系统商店存货管理系统 系系 别:别:工学系工学系 专专 业业 ( (方方 向向) ):网络工程网络工程 年年 级、级、 班:班:网络工程网络工程 13011301 学学 生生 姓姓 名:名:巩清腾巩清腾 学学 生生 学学 号:号:2013067210520130672105 指指 导导 教教 师:师:田伟田伟 2014 年年 7 月月 03 日日 目录目录 一、系统开发的背景一、系统开发的背景.1 二、系
2、统分析与设计二、系统分析与设计.1 (一)系统功能要求(一)系统功能要求.1 (二)系统模块结构设计(二)系统模块结构设计.2 三、系统的设计与实现三、系统的设计与实现.3 (一)(一)显示货物信息:显示货物信息:DISPLAYDISPLAY()().3 (二)(二)插入新进货物:插入新进货物:INPUTINPUT()().4 (三)(三)删除已卖货物:删除已卖货物:OUTPUTOUTPUT()().5 (四)(四)查询库存:查询库存:SEARCHSEARCH()().6 (五)(五)主界面:主界面:ZHUJIEMIANZHUJIEMIAN()().7 四、系统测试四、系统测试.8 (一)(一
3、)测试测试DISPLAYDISPLAY ()()函数函数.8 (二)(二)测试测试INPUTINPUT()()函数。函数。.9 (三)(三)测试测试OUTPUTOUTPUT ()()函数。函数。.10 (四)(四)测试测试SEARCHSEARCH ()()函数。函数。.11 五、总结五、总结.12 六、源代码六、源代码.12 商店存货管理系统商店存货管理系统 一、一、系统开发的系统开发的背景背景 根据题目要求,要对商店存货进行相应的管理,方便主人对自己的店 铺货品的了解和调用。首先,应当把商品信息用结构体形式输入,在主函 数 main 下只放入声明的四个函数,分别是展示函数 display()
4、,录入函数 input(),删除函数 output(),查询函数 search()。这四个可以分为四个模 块,每个都是独立存在的,在运行时又是彼此串联的,在定义这四个函数 的类型为 void,意为函数无类型,即无函数值,也就是说,执行这四个函 数后不会把任何值带回 main 函数。在执行过程中不断进行函数的调用, 让整个程序的活力尽现,在展示模块中,利用选择排序,对商品保质期进 行排序,让保质期前的商品优先输出,保证整个商店的货品新鲜。中间用 了结构体来储存数据,展出数据,用文件插入新货品,用字符串函数修改 删除货品。其中一直被调用的是 zhujiemian()函数,这是为了让程序变 得美观大
5、方有思想。 二、系统分析与设计二、系统分析与设计 (一)系统功能要求(一)系统功能要求 建立一商店存货管理系统,要求每次出货时取进货时间最早且最接近 保质期中止时间的货物。 1、 建立商品基本信息(名称,编号,数量,进货时间,保质时间) 2、 入货操作 3、 出货操作 4、 查询库存 (二)系统模块结构设计(二)系统模块结构设计 通过对系统功能的分析,商店存货管理系统功能如图 X 所示。 图 1 商店存货管理系统功能图 通过上图的功能分析,把整个系统划分为 5 个模块: 1、 显示货物信息,该模块主要实现:商品基本信息(名称,编号, 数量,进货时间,保质时间) 。利用 display()函数实
6、现。 2、 插入新进货物,该模块主要实现:对新的商品的录入。利用 input()函数实现。 3、删除已卖货物,该模块主要实现:删除商品名。利用 output() 函数实现。 4、 查询库存。利用 search()函数实现。 5、 安全退出。利用 exit(0);实现。 三、系统的设计三、系统的设计与实现与实现 (一)(一) 显示货物信息:显示货物信息:display()display() 该模块的具体代码如下所示。 void display() system(cls); FILE *fp; int i,a,j,k,c; struct Goods temp; if(fp=fopen(z.dat,
7、wb)=NULL) printf(cannot open filen); exit(0); printf(原有十件商品,若您已进行了添加删除操作,开动您的脑筋计算商品数量后,输入 商品数量n); scanf(%d, printf( n); printf( n); printf(|商品名| |编号| |库存数量| |进货时间| |保质时间| n); printf( n); printf( n); for(i=0;ic-1;i+) k=i; for(j=i+1;jzk.deaddate) k=j; temp=zk; zk=zi; zi=temp; for(i=0;ic;i+) printf(%s%
8、10d%11d%19d%18d n,,zi.number,zi.stock,zi.year,zi.deaddate); printf(n); if(fwrite( fclose(fp); printf(返回主界面继续其他操作请按 1,按任意键退出n); scanf(%d, if(a=1) zhujiemian(); printf( n); (二)(二) 插入新进货物:插入新进货物:inputinput()() 该模块的具体代码如下所示。 void input() /*定义录入函数*/ system(cls); FILE *fp; int i,a,g; if(fp=fopen(z.
9、dat,wb)=NULL) printf(cannot open filen); exit(0); printf(你要添加几项新货n); scanf(%d, for(i=10;ig+10;i+) printf(t 请输入货物名称、货物编号、进货数量、进货日期、保质期截止日期(用空格间隔): n); scanf(%s%d%d%d%d,, printf( n); printf( 太值得庆祝了,您的数据录入成功!n); printf( n); fclose(fp); printf(返回主界面继续其他操作请按 1,按任意键退出n); scanf(%d, if(a=1) zhujiemia
10、n(); (三)(三) 删除已卖货物:删除已卖货物:output()output() 该模块的具体代码如下所示。 void output() /*定义删除函数*/ system(cls); /清屏 FILE *fp1; int i,a; char m220; if(fp1=fopen(z.dat,rb)=NULL) printf(cannot open filen); exit(0); printf( 请输入想要删除的商品名n); scanf(%s, fflush(stdin); for(i=0;izi.stock;i+ ) if (i!=zi.stock) for(i=0;izi.stock
11、;i+) strcpy(,zi+1.name); printf(%s%10d%11d%19d%18d n,,zi.number,zi.stock,zi.year,zi.deaddate); printf( n); printf( 太值得庆祝了,您的数据删除成功!n); printf( n); fclose(fp1); printf(返回主界面继续其他操作请按 1,按任意键退出n); scanf(%d, if(a=1) zhujiemian(); (四)(四) 查询库存:查询库存:search()search() 该模块的具体代码如下所示。 void search()
12、 system(cls); /清屏 FILE *fp2; int i,a,g; char m220; if(fp2=fopen(z.dat,rb)=NULL) printf(cannot open filen); exit(0); printf( 请输入想要查询的商品名n); scanf(%s, fflush(stdin); printf( n); printf( n); printf(|商品名| |编号| |库存数量| |进货时间| |保质时间| n); printf( n); printf( n); for(i=0;izi.stock;i+ ) if(strcmp(m2,)=
13、0) printf(%s%10d%11d%19d%18dn,,zi.number,zi.stock,zi.year,zi.de addate); if(fwrite( printf( n); printf( - n); printf( n); fclose(fp2); printf(返回主界面继续其他操作请按 1,按任意键退出n); scanf(%d, if(a=1) zhujiemian(); (五)(五) 主界面:主界面:zhujiemian()zhujiemian() 该模块的具体代码如下所示。 void zhujiemian() char n; printf( _ n);
14、 printf( n); printf( _商店存货管理系_n); printf( | - - |n); printf( | 欢迎你的光临 |n); printf( | |n); printf( | 您对我们的满意是我们不懈的追求 |n); printf( | |n); printf( _n); printf( 【 】n); printf( 【 1.显示货物信息 】n); printf( 【 2.插入新进货物 】n); printf( 【 3.删除已卖货物 】n); printf( 【 4.查询 库存 】n); printf( 【 5.安全退出 】n); printf( 【 】n); prin
15、tf(请您选择功能种类(1-5):n); scanf(%d, void zhujiemian(); void display(); /*浏览全部货物功能*/ void input(); /*输入功能*/ void output(); /*删除功能*/ void search(); /*查询功能*/ switch(n) case 1:display();break; /*浏览全部货物功能*/ case 2:input(); break; /*输入功能*/ case 3:output(); break; /*输出功能*/ case 4:search();break; /*查找功能*/ case 5
16、:exit(0);break; /*安全退出*/ 四、系统测试四、系统测试 (一)(一) 测试测试 displaydisplay ()()函数函数 图 2 主界面 执行程序,弹出主界面,输入 1,回车。即调用 display()函数。输入数 字 10,即可输出原有 10 件商品。窗口显示商品基本信息(名称,编号, 数量,进货时间,保质时间) 。 图 3 display()函数 (二)(二) 测试测试 input()input()函数。函数。 在主界面上,输入数字 2,即到达 input()函数界面,会提示, 您要添加几件商品,eg:输入数字 2,按照提示信息,依次输入您新 进来的商品信息。结果
17、见【 图 4】 。输入后,按照提示,输入数字 1,返回主界面调用 display()函数,测试 input()的功能是否完善。 在图【5】 ,可以见到先才输入的两件商品信息。亦可以输入数字 1, 返回主界面,继续进行其他操作。 图 4 input()函数的录入 图 5 input()函数的录入结果 (三)(三) 测试测试 outputoutput ()()函数。函数。 在主界面上,输入数字 3,即到达 output()函数界面,会提示您, 删除商品,eg:输入数字 3,按照提示信息,依次输入您要删除商品名。结 果见【 图 6】 。输入后,按照提示,输入数字 1,返回主界面调用 display(
18、)函数,测试 output()的功能是否完善。在图【7】 ,可以见到 先才输入的两件商品信息。亦可以输入数字 1,返回主界面,继续进行其 他操作。 图 6 output()函数的删除 图 7 output()函数的删除结果 (四)(四) 测试测试 searchsearch ()()函数。函数。 在主界面上,输入数字 4,即到达 output()函数界面,会提示您, 删除商品,eg:输入数字 4,按照提示信息,依次输入您要查询商品名。结 果见【 图 8】 。 图 8 search()函数的查询结果 五、总结五、总结 做了将近半个月的课程设计系统完成了添加、删除、查询、展示结 果四大功能。 不足之
19、处就是在修改商品信息上,无法利用字符串函数修改商品数 量,可能是定义的数据类型不正确。 我的收获就是把过往的知识进行一次统筹与规划,把每章节的内容 都重新认识了一遍,锻炼了对于新的知识点的立即操作能力。会让清屏、 文件,结构体等功能出现在自己的课程设计中。相比以往的实验报告,程 序内容要大的很多,一个一个模块调试,会让接下来的步骤能够快速进行。 还有就是坚持,把不同的方法试用在一个模块中,会有很多错误出现,调 试的过程需要坚持与时间。到最后,当看到自己也可以打出一个 200 行的 系统时,当看到这个设计的功能一步一步实现时,当黑框中的界面大片大 片随着自己的心愿输出时,内心多少都会有一丝成就感
20、。 六、六、源代码源代码 #include #include #include struct Goods char name20; int number; /编号 int stock; /库存 int year; /进货日期 int deaddate; /保质期 ; struct Goods z100=炫迈口香糖,1001,211,20140513,20151113,大兰州酸奶 ,1002,76,20140615,20140706, 酸菜牛肉面,1003,300,20140518,20141118,奥利奥饼干 ,1004,200,20140530,20150530, 豆豆彩虹糖,1005,10
21、0,20140510,20150510,金城老啤酒 ,1006,400,20140512,20141112, 圈圈棒棒糖,1007,266,20140402,20160402,白银小麻花 ,1008,200,20140618,20140625, 皮皮狗湿巾,1009,130,20140410,20150410,雀巢黑咖啡 ,1010,400,20140529,20160529; void zhujiemian() char n; printf( _ n); printf( n); printf( _商店存货管理系统_n); printf( | - - |n); printf( | 欢迎你的光临
22、 |n); printf( | |n); printf( | 您对我们的满意是我们不懈的追求 |n); printf( | |n); printf( _n); printf( 【 】n); printf( 【 1.显示货物信息 】n); printf( 【 2.插入新进货物 】n); printf( 【 3.删除已卖货物 】n); printf( 【 4.查询 库存 】n); printf( 【 5.安全退出 】n); printf( 【 】n); printf(请您选择功能种类(1-5):n); scanf(%d, void zhujiemian(); void display(); /*浏
23、览全部货物功能*/ void input(); /*输入功能*/ void output(); /*删除功能*/ void search(); /*查询功能*/ switch(n) case 1:display();break; /*浏览全部货物功能*/ case 2:input(); break; /*输入功能*/ case 3:output(); break; /*输出功能*/ case 4:search(); /*查找功能*/ case 5:exit(0);break; /*安全退出*/ void display() system(cls); FILE *fp; int i,a,j,k,
24、c; struct Goods temp; if(fp=fopen(z.dat,wb)=NULL) printf(cannot open filen); exit(0); printf(原有十件商品,若您已进行了添加删除操作,开动您的脑筋计算商品数量后,输入 商品数量n); scanf(%d, printf( n); printf( n); printf(|商品名| |编号| |库存数量| |进货时间| |保质时间| n); printf( n); printf( n); for(i=0;ic-1;i+) k=i; for(j=i+1;jzk.deaddate) k=j; temp=zk; z
25、k=zi; zi=temp; for(i=0;ic;i+) printf(%s%10d%11d%19d%18d n,,zi.number,zi.stock,zi.year,zi.deaddate); printf(n); if(fwrite( fclose(fp); printf(返回主界面继续其他操作请按 1,按任意键退出n); scanf(%d, if(a=1) zhujiemian(); printf( n); void input() /*定义录入函数*/ system(cls); FILE *fp; int i,a,g; if(fp=fopen(z.dat,wb)=NU
26、LL) printf(cannot open filen); exit(0); printf(你要添加几项新货n); scanf(%d, for(i=10;ig+10;i+) printf(t 请输入货物名称、货物编号、进货数量、进货日期、保质期截止日期(用空格间 隔):n); scanf(%s%d%d%d%d,, printf( n); printf( 太值得庆祝了,您的数据录入成功!n); printf( n); fclose(fp); printf(返回主界面继续其他操作请按 1,按任意键退出n); scanf(%d, if(a=1) zhujiemian(); void output() /*定义删除函数*/ system(cls); /清屏 FILE *fp1; int i,a; char m220; if(fp1=fopen(z.dat,rb)=NULL) printf(cannot open filen); exit(0); printf( 请输入想要删除的商品名n); scanf(%s, fflush(stdin); for(i=0;izi.stock;i+ ) if (i!=zi.stock) f
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030中国线下零售行业发展现状分析及发展潜力研究报告
- 2025-2030中国红辣椒油树脂行业市场现状供需分析及投资评估规划分析研究报告
- 2025-2030中国系泊检查行业市场现状供需分析及投资评估规划分析研究报告
- 和田防静电地板施工方案
- 监理检查油漆施工方案
- 《法律与生活》第十课高考试题汇编
- 海南仿古大门施工方案
- 环保组织内部违规行为处理流程
- 专项施工方案用哪个表示
- 仁爱版八年级下册英语趣味教学计划
- 商户外摆合作协议
- 2024年河北建投集团招聘工作人员考试真题
- 公司文员面试试题及答案
- 2024-2025学年江苏省常州市高一上学期期末统考英语试卷
- 2025年湖北省八市高三(3月)联考物理试卷(含答案详解)
- 统编版语文四年级下册 第四单元 习作:《我的动物朋友》课件
- 2025年职工职业技能竞赛(瓦斯抽放工赛项)参考试指导题库(含答案)
- 中央2025年中央宣传部直属单位招聘78人笔试历年参考题库附带答案详解
- 2025年道教人员考试试题及答案
- 2025年辽宁盘锦市盘山县公开招聘事业单位工作人员221名历年高频重点模拟试卷提升(共500题附带答案详解)
- 2025年江苏紫金财产保险股份有限公司招聘笔试参考题库含答案解析
评论
0/150
提交评论