C语言课程设计商品库存管理系统_第1页
C语言课程设计商品库存管理系统_第2页
C语言课程设计商品库存管理系统_第3页
C语言课程设计商品库存管理系统_第4页
C语言课程设计商品库存管理系统_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

1、常州大学课程设计第1章 系统分析与设计1.1 系统分析 1.1.1解决问题 运用现代信息化和智能化的管理方式,解决商品库存信息在日常生活中易于丢失、遗忘,不易保存、管理的问题,从而使企业和商家能够更全面,更直观地了解到商品库存信息。 1.1.2软件功能 将商品库存信息进行入库、出库、查询、修改、盘点、排序等操作,更直观反映商品库存信息。1.2 系统设计 1.2.1系统设计思路 以简便快捷和人性化为最终目标,力求最简单有效地管理商品库存信息。 1.2.2系统功能划分 通过对数据的不同处理方式,将系统分成了商品入库、商品出库、查询商品、修改商品、日盘点、出库排序六大类,在查询商品中又包含了关键字(

2、选项)查询,在出库排序中又包含升降排序等功能。 1.2.3功能结构图 商品库存管理系统商品入库商品出库查询商品修改商品日盘点出库排序退出系统返回主菜单 图0第2章 详细设计与编码 2.1详细设计 2.1.1主要函数算法设计 void save ();创建text.txt,并对其添加内容void read ();读取text.txt内容,将其赋给数组void input();添加商品入库记录void output();添加商品出库记录void find_1()通过名称查询商品信息void find_2();通过代码查询商品信息void find_3();通过生产商查询商品信息void find

3、();查询商品信息void change();修改商品信息void display();商品信息的盘点void shun();商品出库按升序排序void dao();商品出库按降序排序void quit();退出系统 图1.1.2流程图1.主函数:main函数函数原型:void main()功能是输出一个欢迎界面,并调用函数,提供17个功能选项。开始显示主菜单根据需要选择序号输入n,n为1-7调用input函数进入商品入 库调用output函数进入商 品出 库调用find函数进入 商品查询调用change函数进入商品修 改调用dispy函数进入日盘点调用order函数进入出库排 序退出系统是否

4、退出系统yn退出系统继续操作结束 图 22.分函数(1)商品入库:input函数原型:void input()功能是录入商品信息开始输入商品名称是否存在改商品输入名称,代码,生产商,生产日期,数量,价格,出库量,入库量输 入数 量是否继续录入yn结束 图32)商品出库:output函数原型:void output()功能是商品出库(减少库存商品数量)开始输入出库数量y结束n是否存在改商品输入商品名称是否继续出库ny 图4(3)查询商品 find函数原型:void find()void find_1()void find_2()void find_3()三种方式查询 开始1.按名称查询2.按代码

5、查询3.按生产商查询显示名称,代码,生产商,生产日期数量,价格,入库,出库结束显示序号1-3,根据需要输入序号查询 图51,.按名称查询 y开始输入名称是否存在商品输出商品信息结束n 图6 2. 按代码查询 开始输入.代码是否存在商品输出商品信息结束n 图73.按生产商查询 开始输入生产商是否存在商品输出商品信息结束n 图84.修改商品 change()函数原型:void change() 开始输入名称名称是否修改代码是否修改生产商是否修改日期是否修改数量是否修改价格是否修改出库,入库是否修改输入新名称输入新代码输入新生产商输入新日期输入新数量输入新价格输入新出库量ynnnnnnyyyyyy结

6、 束 图96,出库排序开始1.升序排序2.降序排序显示图书编号、书名、作者、出版社、出版时间、数量结束显示序号1.2,根据输入序号查看出库量排序 图102.2系统编码#include stdio.h#include string.h #include #define n 80 /*最大容量限定*/ struct a /*商品库内结构体*/ char name10; int numb; char boss6; int date ; int count; int price; int chu; int ru; goods1; struct a productn=ac,1,ac,1,15,5,0,0

7、,bd,2,bd,2,10,20,0,0; int num=2; void read() file*fp;int i; system(cls);fp=fopen(text.txt,r+);if(fp=null) printf(不能打开文件!n);exit(0);i=0;while(!feof(fp)if(fread(&producti,sizeof( struct a),1,fp)=1) i+; num=i;fclose(fp);void save()/*保存商品的信息*/file*fp;int i;if(fp=fopen(text.txt,w)=null)printf(cannot open

8、 file);return;for(i=0;inum;i+)if(fwrite(&producti,sizeof(struct a),1,fp)!=1)printf(file write errorn);system(cls);/*清屏*/printf(商品已保存!n);/getch();fclose(fp);void input() char a10,g; int m,i; printf(输入商品名称:); scanf(%s,a); for(i=0;i=num) printf(库存中无此商品!n); printf(请输入商品名称:);scanf(%s,);pri

9、ntf(请输入商品代码:);scanf(%d,&productnum.numb);printf(请输入商品生产商:);scanf(%s,productnum.boss);printf(请输入商品生产日期:); scanf(%d,&productnum.date);printf(请输入商品数量:);scanf(%d,&productnum.count);printf(请输入商品价格:);scanf(%d,&productnum.price); printf(请输入商品入库:); scanf(%d,&productnum.ru);printf(请输入商品出库:);scanf(%d,&product

10、num.chu);num+;save(); printf(是否还想入库商品?n);printf(按y为继续添加,按n为不添加);scanf(n%c,&g);if(g=y)input();getch();void output()int k,i;char str10,l;system(cls); /*清屏*/printf(n请输入要出库的商品名称:);scanf(%s,str);getchar();for(i=0;inum;i+) if(strcmp(str,)=0)printf(n请输入出库商品数量:);scanf(%d,&k);if(k=num) printf(没有

11、该商品!rn); printf(是否还想出库商品?n);printf(按y为继续出库,按n为不出库n); l=getche(); if(l=y) output(); getch(); save();void find_1() char str10; int i; system(cls); /*清屏*/ printf(输入要找的商品的名称n); scanf(%s,str); printf(名称t 代码t 生产商t 生产日期t 数量t 价格t出库t入库n); for(i=0;i=num)printf(没有该商品); printf(按回车键返回!); getch(); void find_2() i

12、nt i; int x; system(cls); /*清屏*/ printf(输入要找的商品的代码n); scanf(%d,&x); printf(名称t 代码t 生产商t 生产日期t 数量t 价格t出库t入库n); for(i=0;i=num) printf(没有该商品); printf(按回车键返回!);getch(); void find_3() char a6; int i; system(cls); /*清屏*/ printf(输入要找的商品的生产商n); scanf(%s,a); printf(名称t 代码t 生产商t 生产日期t 数量t 价格t出库t入库n); for(i=0;

13、i=num) printf(没有该商品); printf(按回车键返回!); getch(); void find () int j;getch(); printf(查询商品,用商品名称查询请按1,用代码查询请按2,用商品生产商查询请按3); scanf(%d,&j); switch(j) case 1:printf(按商品名称查询n);find_1();break; case 2:printf(按代码查询n);find_2();break; case 3:printf(按生产商查询n);find_3();break;default:break; void change() int i,k;

14、char str10; system(cls); /*清屏*/printf(输入准备修改的商品名称:);scanf(%s,str);for(i=0;inum;i+)if(strcmp(str,)=0) printf(名称t 代码t 生产商t 生产日期t 数量t 价格t出库t入库n); printf(%st %dt %st %dt %dt %dt %dt %dnn,,producti.numb, producti.boss,producti.date,producti.count,producti.price,producti.chu, pro

15、ducti.ru); printf(是否修改名称:n); k=getche(); if (k=y) printf(请输入新的名称:n);scanf(%s,);printf(是否修改代码:n); k=getche();if(k=y)printf(请输入新的代码:n);scanf(%d,&producti.numb);printf(是否修改生产商:n);k=getche();if(k=y)printf(请输入新的生产商:n);scanf(%s,producti.boss); printf(是否修改生产日期:n);k=getche();if(k=y)printf(请输入新的

16、生产日期:n);scanf(%d,&producti.date); printf(是否修改数量:n);k=getche(); if(k=y)printf(请输入新的数量:n);scanf(%d,&producti.count); printf(是否修改价格:n);k=getche();if(k=y) printf(请输入新的价格:n);scanf(%d,&producti.price); printf(是否修改出库量:n);k=getche();if(k=y) printf(请输入新的出库量:n);scanf(%d,&producti.chu); printf(是否修改入库量:n);k=get

17、che();if(k=y) printf(请输入新的入库量:n);scanf(%d,&producti.ru); void display() int i; system(cls); /*清屏*/printf(nn名称t 编号t 生产商t 生产日期t 数量t 价格t出库t入库n); for(i=0;inum;i+) printf(%st %dt %st %dt %dt %dt %dt %dn,,producti.numb,producti.boss,producti.date,producti.count,producti.price,producti.chu,pro

18、ducti.ru); for(i=0;inum;i+) printf(nn统计并输出商品(出库)的量n); printf(名称t 编号t 生产商t 生产日期t 数量t 价格t出库t入库n);for(i=0;i0) printf(%st %dt %st %dt %dt %dt %dt %dn,,producti.numb,producti.boss,producti.date,producti.count,producti.price,producti.chu,producti.ru); printf(nn统计并输出商品(入库)的量n); printf(名称t 编号t

19、生产商t 生产日期t 数量t 价格t出库t入库n); for(i=0;i0)printf(%st %dt %st %dt %dt %dt %dt %dn,,producti.numb,producti.boss,producti.date,producti.count,producti.price,producti.chu,producti.ru);printf(按回车键返回!);getch(); void shun() int i; int j;printf(名称t 编号t 生产商t 生产日期t 数量t 价格t出库t入库n);for(i=0;inum-1;i+) f

20、or(j=0;jproductj+1.chu )goods0=productj;productj=productj+1; productj+1=goods0; for(i=0;inum;i+) printf(%st %dt %st %dt %dt %dt %dt %dn,,producti.numb,producti.boss,producti.date,producti.count,producti.price,producti.chu,producti.ru);printf(按回车键返回!);getch(); void dao() int i;int j;prin

21、tf(名称t 编号t 生产商t 生产日期t 数量t 价格t出库t入库n);for(i=0;inum-1;i+) for(j=0;jnum-1-i;j+)if(productj.chu productj+1.chu ) goods0=productj; productj=productj+1; productj+1=goods0; for(i=0;inum;i+) printf(%st %dt %st %dt %dt %dt %dt %dn,,producti.numb,producti.boss,producti.date,producti.count,product

22、i.price,producti.chu,producti.ru);printf(按回车键返回!);getch(); void order() char t; system(cls); /*清屏*/ printf(对于出库的数量,你想看升序请按1,按2为降序n); printf(t 请选择1/2:n ); t=getch(); switch(t) case1: shun();break; case2: dao();break; default:break; void quit() system(cls); /*清屏*/ printf(nnnttt 谢 谢 使 用 ); printf(nnnnn

23、nt v ); printf(nnntt 商品库存管理系统); printf(nnnttttt作者:电气121,陈志华); printf(nnttttt2013年6月n); printf(nnnt按回车键进入主菜单:); /*界面*/getch(); void main() char j; save(); read(); printf(nnnnnnt v ); printf(nnnttt 欢迎使用 ); printf(nnntt 商品库存管理系统); printf(nnnttttt作者:电气121,陈志华); printf(nnttttt2013年6月n); printf(nnnt按回车键进入

24、主菜单:); /*界面*/ getch(); do system(cls); /*清屏*/ printf(n); printf(ttt *n); printf(ttt * 主菜单 *n); /*主菜单*/ printf(ttt *nnn); printf(t 1 商品入库 2 商品出库nnnn); printf(t 3 查询商品 7 退出系统 4 修改商品nnnn); printf(t 5 日盘点 6 出库排序nnn); printf(nn); printf(t 请选择1/2/3/4/5/6/7: ); j=getch(); switch(j) case 1: input(); break;

25、/*返回主菜单*/ case 2: output(); break; case 3: find(); break; case 4: change(); break; case 5: display(); break; case 6: order(); break; case 7: save();quit(); break; default: break; while(1); 3.3测试数据1初始数据:名称 代码 生产商 日期 数量 价格 入库 出库ac 1 ac 1 15 5 0 0bd 2 bd 2 10 20 0 02新增加数据:“af” 4 ”af” 1 100 5 100 0“ad”

26、3 ”ad” 6 34 9 34 03.出库商品:ad 10ac 5bd 2af 502.4运行结果1.开始界面: 图112. 主菜单: 图123.商品入库: 图13继续入库: 图14继续入库 图154商品出库 图16继续出库 图17继续出库 图18继续出库 图195.查询商品: 图20 查询商品 图216.修改商品: 图227.日盘点: 图238.出库排序: 图24出库量升序排序 图25出库量降序排序 图269.退出系统: 图27第3章 用户手册 . 1.用户首先进入欢迎界面,按回车键进入到主菜单中,然后输入功能选项所对应的数字进行操作。 2.商品入库功能,根据提示输入商品信息,输入完成后,

27、根据实际情况再按照提示选择是否继续进行商品入库。 3.商品出库功能,根据提示输入商品名称,根据提示输入出库数量,根据实际情况再按照提示选择是否继续进行商品出库。 4.查询商品,根据提示,选择输入适当的关键词,从而获取商品信息。 5.修改商品,根据提示,输入要修改的商品,根据实际情况在按照提示选择修改商品信息。 6.日盘点,直接使用。 7.出库排序,根据提示选择排序方式。 第4章 日志 6.13今天第一次来做课程设计,一开始有点迷茫,不知道哪里从哪里开始。但是很快自己投入了状态,明白了一切从主函数开始,我就先弄好主函数。并且分几个调用函数来实现!不过调用还没开始! 6.16下午本想做完第一个调用

28、函数的,可是在调用函数过程中,出现好多问题,不明白到底该如何去执行调用函数,不过最后讨论后,感觉还好。 6。16晚上,在做第一个调用时,以为先输入商品信息在比较,原来错了,是要先比较在输入,因为在主函数中我们要弄个文件,到时就可以比较了!很快第一个调用做完了! 618晚上,计划做完第二三个,想早点做完,可是就做一个多点啊啊!因为在出库的环节上出错了,修改错误弄了好久,并且组员对一些程序有疑问,跟他们讨论!619晚上,在做第四个调用时,由于粗心大意好多简单的东西给弄错了!用分步查询错误!花了好长时间!6.22今天写程序时,写完了第五个程序,不过在程序调试时出了错,有些变量的忘了给他定义,于是一个个查了过去!也有的运行不是想象中那样,一步一步的慢慢地改,现在还有些问题!不过已经下课了,只能下午把程序好好的改一下!6.22下午,主要是检查程序,然后把它修正,在修正程序后开始先作第七个调用,因为第七个会比较简单!所以很快我就做完了第七个!然后准备做第六个了! 6.23 今天在做第六个调用,首先要判断要升序还是降序,然后要进行冒泡排序,一开始以为只要将出库量进行调换,不过那样根本就不能进行排序,后来听了老师说,只需将变量之间进行调换就行了!6.23下午,开始调试了第一调用 ,但是结果不是我所预期的哪样,它会自动的跳到不个步骤,而那不应该是这样的啊!只能去改别

温馨提示

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

评论

0/150

提交评论