2022年C语言-物资管理系统设计报告.pdf
《2022年C语言-物资管理系统设计报告.pdf》由会员分享,可在线阅读,更多相关《2022年C语言-物资管理系统设计报告.pdf(45页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C语言程序设计报告物资管理系统指导老师:姓名:班级序号:精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 1 页,共 45 页 - - - - - - - - - - 学号:一题目要求请设计一个物资管理系统,要求主程序中应提供文字交互菜单界面,要求包含以下几个功能模块:信息输入模块 input():建立物资管理数据总文件,完成对物资原库存信息的录入,并存放到指定文件中信息查找模块 search():采用如下方式进行查找,若找到,则输出该物资的相关信息;没有则给出提示信息。()按产品名称查询 ()进货日期查询
2、并统计。()按产品名称和规格查询并统计。新物资入库模块 insert():在原数据文件中插入新物资的信息。领料模块 lend():查找所领取物资的信息, 满足领料的要求,请登记领取物资名称,日期,数量(领料后修改)打印功能模块 printf()(1) 打印领料单()打印物资精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 2 页,共 45 页 - - - - - - - - - - 库存清单。二需求分析根据题目要求, 由于物资信息是存放在文件中,所以提供文件的输入,输出等操作在程序中需要浏览物资的需要浏览物
3、资信息,应提供显示,查找等操作;另外还应提供键盘选择菜单实现功能选择。三总统设计根据上面的分析及题目要求可以分为以下六个模块(系统模块如下图 1。 )四详细设计(一)主函数一般是设计简洁,只提供输入,处理和输出商品种商品查商品信商品领打印商系统精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 3 页,共 45 页 - - - - - - - - - - 部分的函数调用。其中各功能模块用菜单方式选择。其中流程图如图( 2)menu() int n,w1; do nn); puts(ttt1.物资信息输入模块
4、); puts(ttt2.查询模块 ); puts(ttt3.物资信息查找模块 ); puts(ttt4.领料查询 ); puts(ttt5.打印模块 ); puts(tt);精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 4 页,共 45 页 - - - - - - - - - - n); puts(tt*by 袁璐n); puts(tt*); printf(选择你要得命令 1-6: bb); scanf(%d,&n); if(n6) N w1=1;getchar(); else w1=0; while
5、(w1=1);switch(n) case 1:enter();break; case 2:search();break; case 3:insert();break; 图 2输入 n,判断 m 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 5 页,共 45 页 - - - - - - - - - - case 4:lend();break; case 5:print();break; case 6:exit(0); main() *主函数* puts(ntt*欢迎进入物资管理系统*nn); puts(
6、ttt姓名:袁璐 ); puts(ttt学号: 604); puts(tttEmail:6); puts(tttTel:005);n);根据 n 值调用精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 6 页,共 45 页 - - - - - - - - - - puts(tt*制作 袁璐n); puts(tt*); printf(n按 ENTER 键进入.); getch(); menu();(二)各功能模块设计1. 输入模块 *几种类型,名称等信息 *enter()int i,n; printf(n物资
7、的种类大小 (0-%d):,N-1); scanf(%d,&n); printf(n输入数据 nn); for(i=0;in;i+)精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 7 页,共 45 页 - - - - - - - - - - printf(输入第几个物资的名称。数量规格日期:n,i+1); input(i); if(i!=0)save(n); printf_back();input(int i) printf(nname(1-20letter):); scanf(%s,&proi.p_na
8、me); printf(nnumber(1-7num):); scanf(%d,&proi.p_num); printf(nsize(1-4letter):); scanf(%s,&proi.size); printf(ndate:);精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 8 页,共 45 页 - - - - - - - - - - scanf(%d.%d.%d,&proi.,&proi.,&proi.; printf(min_s real_s max_s:); printf(n最小库存量真实库
9、存量最大库存量 );scanf(%d %d %d,&proi.min_s,&proi.real_s,&proi.max_s);printf_data(int i) printf(nnamettnumtsizetdatettmin real maxn);printf(%st%dt%st%d.%d.%dt%d-%d-%d,proi.p_name,proi.p_num,proi.size,proi.,proi.,proi.,proi.min_s,proi.real_s,proi.max_s);主要是为了输入商品类型, 名称,数量,型号,日期,最大,最小,真实库存量,并存放在指定的文件中。但要注意到输
10、入时间,最大最小库存的格式(如)请输入第 1th 中商品信息 :精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 9 页,共 45 页 - - - - - - - - - - name(1-20letter):苹果number(1-7num):1size(1-4letter):2date:(二) searchmenu()*查询模块 *int n,w2; do puts(ntt*查询菜单*nn); puts(ttt1.姓名查询 ); puts(ttt2.日期查询 ); puts(ttt3.物资名称和规格查询
11、);精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 10 页,共 45 页 - - - - - - - - - - puts(ttt4.返回);puts(nntt*n); printf(选择你要得命令 1-4: bb); scanf(%d,&n); if(n4) w2=1;getchar(); else w2=0; while(w2=1); switch(n) case 1:search_by_name();break; case 2:search_by_date();break; case 3:sear
12、ch_by_nameandsize();break; case 4:getch();menu(); 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 11 页,共 45 页 - - - - - - - - - - search() searchmenu();search_by_name()int j,n,m=0;char a20; n=load(); printf(n输入你要查询物资的名称nname:); scanf(%s,a); for(j=0;jn;j+) if(strcmp(a,proj.p_name
13、)=0) m+; printf_data(j); printf(n查找的第几种物资 !,m);getch();精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 12 页,共 45 页 - - - - - - - - - - menu();struct s_dateint year; int month; int day;s;search_by_date()int j,n,m=0; n=load(); printf(n输入你要查询物资的日期!ndate:); scanf(%d.%d.%d,&,&,&; for
14、(j=0;jn;j+)if(=proj.&=proj.&=proj.) m+;精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 13 页,共 45 页 - - - - - - - - - - printf_data(j); printf(n查找第几种物资在那天 !,m);getch();menu();search_by_nameandsize()int j,n,m=0;char a20,b4; n=load(); printf(n输入你要查询物资的名称!nname:); scanf(%s,a); print
15、f(n输入你要查询物资的规格!nsize:); scanf(%s,b); for(j=0;jn;j+)精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 14 页,共 45 页 - - - - - - - - - - if(strcmp(a,proj.p_name)=0)&(strcmp(b,proj.size)=0) m+; printf_data(j); printf(查找第几种物资 !,m);getch();menu();主要以一种查询方式进行说明流程图如下:是否查 到 此 商品显示找到结果提 示 没
16、有 找精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 15 页,共 45 页 - - - - - - - - - - 操作如图 *菜单* 1.商品种类 2.商品查找 3.新商品信息录入 4.领取商品 5.打印商品信息 6.退出* *by袁璐开始选根据 n 值调用精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 16 页,共 45 页 - - - - - - - - - - * your order 1-6:2*SEAR
17、CH* 1.通过商品名查询 2.通过录入日期查询 3.通过商品名和日期查询 4.返回菜单*请选择要查询的种类 1-4:1精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 17 页,共 45 页 - - - - - - - - - - 输入你要查询商品的名称!name:苹果name num size date min-real-max苹果 4362900 2 3-4-5找到 1 种商品 ! *菜单*(三)新物资的录入在此函数上对新料进行了记录insert()int n,c; n=load(); puts(nI
18、nput one data:n); do input(n);精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 18 页,共 45 页 - - - - - - - - - - printf_data(n); printf(nnAre you suren1).suren2).cancel and againn3).back without save bb); scanf(%d,&c); if(c=1)save(n+1);printf_back(); else if(c!=2)menu(); while(c=2)
19、;input(int i) printf(nname(1-20letter):); scanf(%s,&proi.p_name); printf(nnumber(1-7num):); scanf(%d,&proi.p_num); printf(nsize(1-4letter):); scanf(%s,&proi.size); printf(ndate:);精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 19 页,共 45 页 - - - - - - - - - - scanf(%d.%d.%d,&proi
20、.,&proi.,&proi.; printf(min_s real_s max_s:); printf(n最小库存量真实库存量最大库存量 );scanf(%d %d %d,&proi.min_s,&proi.real_s,&proi.max_s);该函数据对物资进行了全面的查找(四)领料模块 * 查找对所领聊的信息,若满足领料要求,便登记一系列内容,并修改程序如下struct one_prochar p_name20; char size4; struct date one_date; long int total;精品资料 - - - 欢迎下载 - - - - - - - - - - -
21、欢迎下载 名师归纳 - - - - - - - - - -第 20 页,共 45 页 - - - - - - - - - - struct one_pro *next;check;lend()int j,n; n=load(); printf(n请检查你要带走物资的日期等信息!); printf(nname(1-20letter) size(1-4letter) date amountn);scanf(%s%s%d.%d.%d%d,&,&,&; for(j=0;jn;j+)if(strcmp,proj.p_name)=0)&(strcmp,proj.size)=0)&=proj.real_s)
22、 proj.real_s-=; printf_data(j); printf_back(); 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 21 页,共 45 页 - - - - - - - - - - else printf(日期错误 !);(五)采用文件来存储数据信息#includesave(int n) FILE*fp; int k; if(fp=fopen(,wb)=NULL) printf(nCannot open file!n); return NULL; for(k=0;kn;k+) if
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022 语言 物资 管理 系统 设计 报告
限制150内