C语言课程设计报告—物资管理系统.docx
《C语言课程设计报告—物资管理系统.docx》由会员分享,可在线阅读,更多相关《C语言课程设计报告—物资管理系统.docx(18页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C语言课程设计报告物资管理系统 C语言程序设计报告 物资管理系统 指导老师:梁庆中 姓名: 班级序号:034112-29 学号:20221004423 一题目要求 请设计一个物资管理系统,要求主程序中应提供文字交互菜单界面,要求包含以下几个功能模块: 信息输入模块input():建立物资管理数据总文件,完成对物资原库存信息的录入,并存放到指定文件中(pro.dat) 信息查找模块search():采用如下方式进行查找,若找到,则输出该物资的相关信息;没有则给出提示信息。()按产品名称查询()进货日期查询 并统计。()按产品名称和规格查询并统计。 新物资入库模块insert():在原数据文件中插
2、入新物资的信息。 领料模块lend():查找所领取物资的信息,满足领料的要求,请登记领取物资名称,日期,数量(领料后修改) 打印功能模块printf()(1)打印领料单()打印物资库存清单。 二需求分析 根据题目要求,由于物资信息是存放在文件中,所以提供文件的输入,输出等操作在程序中需要浏览物资的需要浏览物资信息,应提供显示,查找等操作;另外还应提供键盘选择菜单实现功能选择。 三总统设计 根据上面的分析及题目要求可以分为以下六个模块(系统模块如下图1。) 四详细设计 (一)主函数一般是设计简洁,只提供输入,处理和输出部分的函数调用。其 中各功能模块用菜单方式选择。 int menu() int
3、 n,w; printf(n 欢迎进入物资管理系统n); printf( 1. 输入(建立物资数据库)n); printf( 2. 按名称查询n); printf( 3. 按进货日期查询并统计n); printf( 4. 按产品名称和规模并统计n); printf( 5. 领料n); printf( 6. 新物资入库n); printf( 7. 打印领料单n); printf( 8. 打印库存物资n); printf( 9. 退出n); printf( choose the number to execute(19)n); 输入n,判断m 是否是1到6? printf( error! inpu
4、te again !n); printf( choose the number again!(19)n); w=1; case 1: input();break; case 2: search_1();break; case 3: search_2();break; case 4: search_3();break; case 5: lend();break; case 6: insert();break; case 7: print_1();break; case 8: print_2();break; case 9: return(0); break; return 1; main() i
5、nt i; do i=menu(); while(i); (二)各功能模块设计 1.输入模块*几种类型,名称等信息 *信息输入模块* int input()/建立物资数据库 FILE *fp; int i,n; printf(n请输入物资总数n=?n); scanf(%d,&n); if(fp=fopen(pro.txt,w+)=NULL) printf(n cannot open the file! n); return(0); printf(n 依次输入物资信息:n); for(i=0;in;i+) printf(n 第%d种物资n,i+1); printf(n物资名称编号规格年月日最大库
6、存最小库存实际库存n); scanf(%s %s %s %ld %ld %ld %ld,p1i.name,p1i.num,p1i.size,&p1i.date,&p1i. max,&p1i.min,&p1i.real); for(i=0;in;i+) fprintf(fp,%s %s %s %ld %ld %ld %ldn,p1i.name,p1i.num,p1i.size,p1i.date, p1i.max,p1i.min,p1i.real); fclose(fp); return 0; int load() int i; FILE *fp; if(fp=fopen(pro.txt,r+)=
7、NULL) printf(ncannot open the file!n); return(0); for(i=0;!feof(fp);i+) fscanf(fp,%s %s %s %ld %ld %ld %ld,p1i.name,p1i.num,p1i.size,&p1i.date,&p1 i.max,&p1i.min,&p1i.real); fclose(fp); return(i); 主要是为了输入商品类型,名称,数量,型号,日期,最大,最小,真实库存量,并存放在指定的文件(pro.dat)中。但要注意到输入时间,最大最小库存的格式(如)请输入第1th中商品信息: 物资名称:pinggu
8、o 编号:001 规格:50g 年月日:20220115 最大库存:500 最小库存:200 实际库存:300 (二)searchmenu()*查询模块* search_1()/按产品名称查询 int i,m,j=0; char str120; printf(n输入查询物资名称:n); scanf(%s,str1); m=load(); for(i=0;im;i+) if(strcmp(str1, p1i.name)=0) printf(n物资名称编号规格年月日最大库存最小库存实际库存n); printf(%s %s %s %ld %ld %ld %ld,p1i.name,p1i.num,p1
9、i.size,p1i.date,p1i.max, p1i.min,p1i.real); j+; if(j=0) printf(n没有发现n); search_2()/按进货日期查询 int i,j,l,n,m,q; long int k,y; l=0; n=0; j=0; k=0; printf(n输入年月:n); scanf(%ld,&y); m=load(); for(i=0;im;i+) if(y*100=p1i.date/100) printf(n物资名称编号规格年月日最大库存最小库存实际库存n); printf(%s %s %s %ld %ld %ld %ld,p1i.name,p1
10、i.num,p1i.size,p1i.date, p1i.max,p1i.min,p1i.real); strcpy(p5j.name,p1i.name); p5j.sum=p1i.real; j+; printf(n该查询月份产品种类:%d,j); q=j; printf(n产品名该月进的数量);/统计产品的种类与数量 for(i=0;i=q;i+) printf(n%s %ld,p5i.name,p5i.sum); printf(n); search_3()/按产品名称和库存量查询 int i,m; long int k; char str27; printf(n输入查询物资编号:n);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 课程设计 报告 物资 管理 系统
限制150内