您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > C语言-物资管理系统设计报告
1C语言程序设计报告——物资管理系统指导老师:姓名:班级序号:学号:2一.题目要求请设计一个物资管理系统,要求主程序中应提供文字交互菜单界面,要求包含以下几个功能模块:1.信息输入模块input():建立物资管理数据总文件,完成对物资原库存信息的录入,并存放到指定文件中(pro.dat)2.信息查找模块search():采用如下方式进行查找,若找到,则输出该物资的相关信息;没有则给出提示信息。(1)按产品名称查询(2)进货日期查询并统计。(3)按产品名称和规格查询并统计。3.新物资入库模块insert():在原数据文件中插入新物资的信息。4.领料模块lend():查找所领取物资的信息,满足领料的要求,请登记领取物资名称,日期,数量(领料后修改)5.打印功能模块printf()(1)打印领料单(2)打印物资库存清单。二.需求分析根据题目要求,由于物资信息是存放在文件中,所以提供文件的输入,输出等操作在程序中需要浏览物资的需要浏览物资信息,应提供显示,查找等操作;另外还应提供键盘选择菜单实现功能选择。三.总统设计根据上面的分析及题目要求可以分为以下六个模块(系统模块如下图1。)四.详细设计(一)主函数一般是设计简洁,只提供输入,处理和输出部分的函数调用。其物资管理系统商品种类输入商品查询模块商品信息输入商品领取模块打印商品信息系统推出3中各功能模块用菜单方式选择。其中流程图如图(2)menu(){intn,w1;do{puts(\n\t\t*****************MENU********************\n\n);puts(\t\t\t1.物资信息输入模块);puts(\t\t\t2.查询模块);puts(\t\t\t3.物资信息查找模块);puts(\t\t\t4.领料查询);puts(\t\t\t5.打印模块);puts(\t\t\t6.Exit);puts(\n\n\t\t***************************************\n);puts(\t\t******************************by袁璐\n);puts(\t\t*****************************2008.12.29\n);printf(选择你要得命令[1-6]:[]\b\b);scanf(%d,&n);if(n1||n6)N{w1=1;getchar();}elsew1=0;}while(w1==1);switch(n){case1:enter();break;case2:search();break;case3:insert();break;图2case4:lend();break;case5:print();break;case6:exit(0);}}main()***********主函数**************{puts(\n\t\t****************欢迎进入物资管理系统*****************\n\n);puts(\t\t\t姓名:袁璐);puts(\t\t\t学号:20071002604);puts(\t\t\tEmail:646247646@qq.com);puts(\t\t\tTel:02763388205);puts(\n\n\t\t***************************************\n);puts(\t\t******************************制作袁璐\n);puts(\t\t*****************************2008.12.29\n);printf(\n按ENTER键进入...);getch();开始显示一系列功能选择输入n,判断m是否是1到6?根据n值调用各功能模块函数结束4menu();}(二)各功能模块设计1.输入模块*********几种类型,名称等信息*********enter(){inti,n;printf(\n物资的种类大小(0-%d)?:,N-1);scanf(%d,&n);printf(\n输入数据\n\n);for(i=0;in;i++){printf(输入第几个物资的名称。数量规格日期:\n,i+1);input(i);}if(i!=0)save(n);printf_back();}input(inti){printf(\nname(1-20letter):);scanf(%s,&pro[i].p_name);printf(\nnumber(1-7num):);scanf(%d,&pro[i].p_num);printf(\nsize(1-4letter):);scanf(%s,&pro[i].size);printf(\ndate:);scanf(%d.%d.%d,&pro[i].in_date.year,&pro[i].in_date.month,&pro[i].in_date.day);printf(min_sreal_smax_s:);printf(\n最小库存量真实库存量最大库存量);scanf(%d%d%d,&pro[i].min_s,&pro[i].real_s,&pro[i].max_s);}printf_data(inti){printf(\nname\t\tnum\tsize\tdate\t\tminrealmax\n);printf(%s\t%d\t%s\t%d.%d.%d\t%d-%d-%d,pro[i].p_name,pro[i].p_num,pro[i].size,pro[i].in_date.year,pro[i].in_date.month,pro[i].in_date.day,pro[i].min_s,pro[i].real_s,pro[i].max_s);}主要是为了输入商品类型,名称,数量,型号,日期,最大,最小,真实库存量,并存放在指定的文件(pro.dat)中。但要注意到输入时间,最大最小库存的格式(如)请输入第1th中商品信息:name(1-20letter):苹果5number(1-7num):1size(1-4letter):2date:2008.06.06amount[min-real-max]:3-4-5(二)searchmenu()*******查询模块*******{intn,w2;do{puts(\n\t\t****************查询菜单******************\n\n);puts(\t\t\t1.姓名查询);puts(\t\t\t2.日期查询);puts(\t\t\t3.物资名称和规格查询);puts(\t\t\t4.返回);puts(\n\n\t\t***************************************\n);printf(选择你要得命令[1-4]:[]\b\b);scanf(%d,&n);if(n1||n4){w2=1;getchar();}elsew2=0;}while(w2==1);switch(n){case1:search_by_name();break;case2:search_by_date();break;case3:search_by_nameandsize();break;case4:getch();menu();}}search(){searchmenu();}search_by_name(){intj,n,m=0;chara[20];n=load();printf(\n输入你要查询物资的名称\nname:);scanf(%s,a);for(j=0;jn;j++)if(strcmp(a,pro[j].p_name)==0){m++;printf_data(j);6}printf(\n查找的第几种物资!,m);getch();menu();}structs_date{intyear;intmonth;intday;}s;search_by_date(){intj,n,m=0;n=load();printf(\n输入你要查询物资的日期!\ndate:);scanf(%d.%d.%d,&s.year,&s.month,&s.day);for(j=0;jn;j++)if((s.year==pro[j].in_date.year)&&(s.month==pro[j].in_date.month)&&(s.day==pro[j].in_date.day)){m++;printf_data(j);}printf(\n查找第几种物资在那天!,m);getch();menu();}search_by_nameandsize(){intj,n,m=0;chara[20],b[4];n=load();printf(\n输入你要查询物资的名称!\nname:);scanf(%s,a);printf(\n输入你要查询物资的规格!\nsize:);scanf(%s,b);for(j=0;jn;j++)if((strcmp(a,pro[j].p_name)==0)&&(strcmp(b,pro[j].size)==0)){m++;printf_data(j);}printf(查找第几种物资!,m);getch();menu();}主要以一种查询方式进行说明流程图如下:7操作如图*****************菜单********************1.商品种类2.商品查找3.新商品信息录入4.领取商品5.打印商品信息6.退出*********************************************************************by袁璐********************************2008.12.29Choiceyourorder[1-6]:[2]*****************SEARCH********************1.通过商品名查询2.通过录入日期查询3.通过商品名和日期查询4.返回菜单开始输入商品名称是否查到此商品的信息显示找到结果提示没有找到并返回主菜单开始选择2输入n判断m是否是0到4?根据n值调用各功能模块函数结束返回8***************************************请选择要查询的种类[1-4]:[1]输入你要查询商品的名称!name:苹果namenumsizedatemin-real-max苹果436290022008.6.63-4-5找到1种商品!*****************菜单********************(三)新物资的录入在此函数上对新料进行了记录insert(){intn,c;n=load();puts(\nInputonedata:\n);do{input(n);printf_data(n);printf(\n\nAreyousure?\n1).sure\n2).cancelandagain\n3).backwithoutsave[]\b\b);scanf(%d,&c);if(c==1){save(n+1);printf_back();}elseif(c!=2)menu();}while(c==2);}input(inti){printf(\nname(1-20letter):);scanf(%s,&pro[i].p_name);printf(\nnumber(1-7num):);scanf(%d,&pro[i].p_num);printf(\nsize(1-4letter):);scanf(%s,&pro[i].size);printf(\ndate:);scanf(%d.%d.%d,&pro[i].in_date.year,&pro[i].in_date.month,&pro[i].in_date.day);printf(min_sreal_smax_s:);
本文标题:C语言-物资管理系统设计报告
链接地址:https://www.777doc.com/doc-6199695 .html