C语言课程设计报告—物资管理系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言程序设计报告
——物资管理系统
指导老师:梁庆中
姓名:
班级序号:034112-29
学号:20111004423
一.题目要求
请设计一个物资管理系统,要求主程序中应提供文字交互菜单界面,要求包含以下几个功能模块:
1.信息输入模块input():建立物资管理数据总文件,完成对物资原库存信息的录入,并存放到指定文件中(pro.dat)
2.信息查找模块search():采用如下方式进行查找,若找到,则输出该物资的相关信息;没有则给出提示信息。(1)按产品名称查询(2)进货日期查询
并统计。(3)按产品名称和规格查询并统计。
3.新物资入库模块insert():在原数据文件中插入新物资的信息。
4.领料模块lend():查找所领取物资的信息,满足领料的要求,请登记领取物资名称,日期,数量(领料后修改)
5.打印功能模块printf()(1)打印领料单(2)打印物资库存清单。
二.需求分析
根据题目要求,由于物资信息是存放在文件中,所以提供文件的输入,输出等操作在程序中需要浏览物资的需要浏览物资信息,应提供显示,查找等操作;另外还应提供键盘选择菜单实现功能选择。
三.总统设计
根据上面的分析及题目要求可以分为以下六个模块(系统模块如下图1。)
四.详细设计
(一)主函数一般是设计简洁,只提供输入,处理和输出部分的函数调用。其
中各功能模块用菜单方式选择。
int menu()
{
int 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(1~9)\n");
输入n,判断m
是否是1到6?
printf(" error! inpute again !\n");
printf(" choose the number again!(1~9)\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()
{ int 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;i { printf("\n 第%d种物资\n",i+1); printf("\n物资名称编号规格年月日最大库存最小库存实际库存\n"); scanf("%s %s %s %ld %ld %ld %ld",p1[i].name,p1[i].num,p1[i].size,&p1[i].date,&p1[i]. max,&p1[i].min,&p1[i].real); } for(i=0;i fprintf(fp,"%s %s %s %ld %ld %ld %ld\n",p1[i].name,p1[i].num,p1[i].size,p1[i].date, p1[i].max,p1[i].min,p1[i].real); fclose(fp); return 0; } int load() { int i; FILE *fp; if((fp=fopen("pro.txt","r+"))==NULL) { printf("\ncannot open the file!\n"); return(0); } for(i=0;!feof(fp);i++)