C语言课程设计报告—物资管理系统

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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++)

相关文档
最新文档