欢迎来到沃文网! | 帮助中心 分享知识,传播智慧!
沃文网
全部分类
  • 教学课件>
  • 医学资料>
  • 技术资料>
  • 学术论文>
  • 资格考试>
  • 建筑施工>
  • 实用文档>
  • 其他资料>
  • ImageVerifierCode 换一换
    首页 沃文网 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    物资管理系统课程设计报告.doc

    • 资源ID:851488       资源大小:183.58KB        全文页数:24页
    • 资源格式: DOC        下载积分:20积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: QQ登录 微博登录
    二维码
    微信扫一扫登录
    下载资源需要20积分
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,下载更划算!
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    物资管理系统课程设计报告.doc

    1、目 录课程设计评语2目 录31课程论文题目42程序设计思路43功能模块图54数据结构设计55算法设计66程序代码137程序运行结果228编程中遇到的困难及解决方法259总结心得及良好建议2610致谢261课程论文题目物资管理系统2程序设计思路(1)库存和领料信息以文本文件的方式存放在两个文件里,提供相应的输入输出操作。(2)提供库存几种方式的查找。(3)提供库存的建立、插入。(4)能查找满足领货要求的信息,并修改库存、领货文本文件。3功能模块图物资管理系统信息输入模块信息查询模块信息添加模块物资领取模块信息打印模块退出模块4数据结构设计(一)主函数一般是设计简洁,只提供输入,处理和输出部分的函

    2、数调用。其中各功能模块用菜单方式选择。其中流程图如图(1)开始显示一系列功能选择判断m 是否是1到6?根据n值调用各功能模块函数结束图(1)菜单*/do puts(ntt*菜单*nn); puts(ttt1.信息输入); puts(ttt2.信息查询); puts(ttt3.信息插入); puts(ttt4.领货); puts(ttt5.信息打印); puts(ttt6.退出); puts(nntt*n); puts(tt* 陈文n); puts(tt*2013.01.05n); printf(请选择 1-6: bb); scanf(%d,&n); if(n6) w1=1;getchar();

    3、 else w1=0; while(w1=1);switch(n) /*选择功能*/ case 1:enter();break; /*信息输入模块*/ case 2:search();break; /*信息查询模块*/ case 3:insert();break; /*信息添加模块*/ case 4:lend();break; /*物资领取模块*/ case 5:print();break; /*信息打印模块*/ case 6:exit(0); /*退出模块*/ main() /*主函数*/ menu();(二)各功能模块设计1.输入模块*几种类型,名称等信息 */*信息输入模块*/void

    4、enter() int i,n; printf(n产品种类数量(0-%d)?:,N-1); scanf(%d,&n); printf(n请输入数据nn); for(i=0;in;i+) printf(输入第%d种产品数据:n,i+1); input(i); if(i!=0)save(n); printf_back();2.searchmenu()*查询模块*/*信息查询模块*/void searchmenu() int n,w2; do puts(ntt*查询*nn); puts(ttt1.按名称查询); puts(ttt2.按日期查询); puts(ttt3.按名称规格查询); puts(t

    5、tt4.返回); 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:search_by_nameandsize();break; /*按名称规格查询*/ case 4:getch();menu(); /*退出模块*/ void search(

    6、) searchmenu();/*按名称查询*/void 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)=0) m+; printf_data(j); printf(n找到%d种产品!,m);getch();menu();/*按日期查询*/struct s_date int year; int month; int day; s;void search_by_date() int j,n,m

    7、=0; n=load(); printf(n输入你想查找的产品日期!ndate:); scanf(%d.%d.%d,&s.year,&s.month,&s.day); for(j=0;jn;j+)if(s.year=proj.in_date.year)&(s.month=proj.in_date.month)&(s.day=proj.in_date.day) m+; printf_data(j); printf(n找到当天的此产品%d!,m);getch();menu();/*按名称规格查询*/void search_by_nameandsize() int j,n,m=0; char a20

    8、,b4; n=load(); printf(n输入你想找的产品名称!n名称:); scanf(%s,a); printf(n输入你想找的产品库存量!n库存量:); scanf(%s,b); for(j=0;jn;j+) if(strcmp(a,proj.p_name)=0)&(strcmp(b,proj.size)=0) m+; printf_data(j); printf(找到%d种产品!,m);getch();menu();3.新物资的录入 在此函数上对新料进行了记录/*信息添加模块*/void insert() int n,c; n=load(); puts(n输入一个数据:n); do

    9、 input(n); printf_data(n); printf(nn是否确信?n1).是n2).取消并重试n3).返回不保存 bb); scanf(%d,&c); if(c=1)save(n+1);printf_back(); else if(c!=2)menu(); while(c=2);4.领料模块*查找对所领聊的信息,若满足领料要求,便登记一系列内容,并修改/*物资领取模块*/struct one_pro char p_name20; char size4; struct date one_date; long int total; struct one_pro *next;chec

    10、k;void lend() int j,n; n=load(); printf(n请检查你想取的产品的信息!); printf(n名称(1-20letter) 库存量(1-4letter) 日期 amountn);scanf(%s%s%d.%d.%d%d,&check.p_name,&check.size,&check.one_date.year,&check.one_date.month,&check.one_date.day,&check.total); for(j=0;jn;j+)if(strcmp(check.p_name,proj.p_name)=0)&(strcmp(check.s

    11、ize,proj.size)=0)&(check.one_date.year=proj.in_date.year)&(check.one_date.month=proj.in_date.month)&(check.one_date.day=proj.in_date.day)&(check.total=proj.real_s) proj.real_s-=check.total; printf_data(j); save(n); printf_back(); else printf(数据错误!); 5.打印领料单和物资库存清单/*信息打印模块*/void print() int i,n; n=lo

    12、ad(); for(i=0;in;i+) printf_data(i); getch(); menu(); (三).采用文件来存储数据信息/*公共函数*/#includevoid save(int n) /*保存函数*/ FILE*fp; int k; if(fp=fopen(pro.dat,wb)=NULL) printf(n无法打开文件!n); for(k=0;kn;k+) if(prok.real_s!=0) if(fwrite(&prok,sizeof(struct product),1,fp)!=1) printf(文件书写错误!n); fclose(fp);int load() /

    13、*加载函数*/ FILE*fp; int k; if(fp=fopen(pro.dat,rb)=NULL) printf(n无法打开文件!n); return NULL; for(k=0;!feof(fp);k+) fread(&prok,sizeof(struct product),1,fp); fclose(fp); return(k-1);void input(int i) /*输入一种产品信息*/ printf(n名称(1-20letter):); scanf(%s,&proi.p_name); printf(n编号(1-7num):); scanf(%d,&proi.p_num);

    14、printf(n库存量(1-4letter):); scanf(%s,&proi.size); printf(n日期:); scanf(%d.%d.%d,&proi.in_date.year,&proi.in_date.month,&proi.in_date.day); printf(namountmin-real-max:); scanf(%d-%d-%d,&proi.min_s,&proi.real_s,&proi.max_s);void printf_data(int i) /*输出信息函数*/printf(n名称tt编号t规格t日期ttmin-real-maxn);printf(%st

    15、%dt%st%d.%d.%dt%d-%d-%d,proi.p_name,proi.p_num,proi.size,proi.in_date.year,proi.in_date.month,proi.in_date.day,proi.min_s,proi.real_s,proi.max_s);void printf_back() printf(nn请按任意键回主菜单!n); getch(); menu();5.算法设计6.程序代码#include#include#include#include#define N 100struct date int year; int month; int da

    16、y;struct product char p_name20; long int p_num7; char size4; struct date in_date; long int max_s; long int min_s; long int real_s; struct product *next;proN;void enter();void search();void searchmenu();void search_by_name();void search_by_date();void search_by_nameandsize();void insert();void lend()

    17、;void print();void save(int n);int load();void input(int i);void printf_data(int i) ;void printf_back(); void menu() /*菜单*/int n,w1; /*变量p保存选择菜单数字,w1判断输入数字对应菜单*/do puts(ntt*菜单*nn); puts(ttt1.信息输入); puts(ttt2.信息查询); puts(ttt3.信息插入); puts(ttt4.领货); puts(ttt5.信息打印); puts(ttt6.退出); puts(nntt*n); puts(tt

    18、* 陈文n); puts(tt*2013.01.05n); printf(请选择 1-6: bb); scanf(%d,&n); if(n6) w1=1;getchar(); else w1=0; while(w1=1);switch(n) /*选择功能*/ case 1:enter();break; /*信息输入模块*/ case 2:search();break; /*信息查询模块*/ case 3:insert();break; /*信息添加模块*/ case 4:lend();break; /*物资领取模块*/ case 5:print();break; /*信息打印模块*/ case

    19、 6:exit(0); /*退出模块*/ main() /*主函数*/ menu();/*信息输入模块*/void enter() int i,n; printf(n产品种类数量(0-%d)?:,N-1); scanf(%d,&n); printf(n请输入数据nn); for(i=0;in;i+) printf(输入第%d种产品数据:n,i+1); input(i); if(i!=0)save(n); printf_back();/*信息查询模块*/void searchmenu() int n,w2; do puts(ntt*查询*nn); puts(ttt1.按名称查询); puts(t

    20、tt2.按日期查询); puts(ttt3.按名称规格查询); 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:search_by_nameandsize();break; /*按名称规格查询*/ case 4

    21、:getch();menu(); /*退出模块*/ void search() searchmenu();/*按名称查询*/void 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)=0) m+; printf_data(j); printf(n找到%d种产品!,m);getch();menu();/*按日期查询*/struct s_date int year; int month; int

    22、day; s;void search_by_date() int j,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=proj.in_date.year)&(s.month=proj.in_date.month)&(s.day=proj.in_date.day) m+; printf_data(j); printf(n找到当天的此产品%d!,m);getch();menu();/*按名称规格查询*/void search_

    23、by_nameandsize() int j,n,m=0; char a20,b4; n=load(); printf(n输入你想找的产品名称!n名称:); scanf(%s,a); printf(n输入你想找的产品库存量!n库存量:); scanf(%s,b); for(j=0;jn;j+) if(strcmp(a,proj.p_name)=0)&(strcmp(b,proj.size)=0) m+; printf_data(j); printf(找到%d种产品!,m);getch();menu();/*信息添加模块*/void insert() int n,c; n=load(); put

    24、s(n输入一个数据:n); do input(n); printf_data(n); printf(nn是否确信?n1).是n2).取消并重试n3).返回不保存 bb); scanf(%d,&c); if(c=1)save(n+1);printf_back(); else if(c!=2)menu(); while(c=2);/*物资领取模块*/struct one_pro char p_name20; char size4; struct date one_date; long int total; struct one_pro *next;check;void lend() int j,n

    25、; n=load(); printf(n请检查你想取的产品的信息!); printf(n名称(1-20letter) 库存量(1-4letter) 日期 amountn);scanf(%s%s%d.%d.%d%d,&check.p_name,&check.size,&check.one_date.year,&check.one_date.month,&check.one_date.day,&check.total); for(j=0;jn;j+)if(strcmp(check.p_name,proj.p_name)=0)&(strcmp(check.size,proj.size)=0)&(ch

    26、eck.one_date.year=proj.in_date.year)&(check.one_date.month=proj.in_date.month)&(check.one_date.day=proj.in_date.day)&(check.total=proj.real_s) proj.real_s-=check.total; printf_data(j); save(n); printf_back(); else printf(数据错误!); /*信息打印模块*/void print() int i,n; n=load(); for(i=0;in;i+) printf_data(i)

    27、; getch(); menu();/*公共函数*/#includevoid save(int n) /*保存函数*/ FILE*fp; int k; if(fp=fopen(pro.dat,wb)=NULL) printf(n无法打开文件!n); for(k=0;kn;k+) if(prok.real_s!=0) if(fwrite(&prok,sizeof(struct product),1,fp)!=1) printf(文件书写错误!n); fclose(fp);int load() /*加载函数*/ FILE*fp; int k; if(fp=fopen(pro.dat,rb)=NUL

    28、L) printf(n无法打开文件!n); return NULL; for(k=0;!feof(fp);k+) fread(&prok,sizeof(struct product),1,fp); fclose(fp); return(k-1);void input(int i) /*输入一种产品信息*/ printf(n名称(1-20letter):); scanf(%s,&proi.p_name); printf(n编号(1-7num):); scanf(%d,&proi.p_num); printf(n库存量(1-4letter):); scanf(%s,&proi.size); pri

    29、ntf(n日期:); scanf(%d.%d.%d,&proi.in_date.year,&proi.in_date.month,&proi.in_date.day); printf(namountmin-real-max:); scanf(%d-%d-%d,&proi.min_s,&proi.real_s,&proi.max_s);void printf_data(int i) /*输出信息函数*/printf(n名称tt编号t规格t日期ttmin-real-maxn);printf(%st%dt%st%d.%d.%dt%d-%d-%d,proi.p_name,proi.p_num,proi

    30、.size,proi.in_date.year,proi.in_date.month,proi.in_date.day,proi.min_s,proi.real_s,proi.max_s);void printf_back() printf(nn请按任意键回主菜单!n); getch(); menu();7程序运行结果8.困难,解决方法在学习C语言这门课时,由于是第一次接触计算机的课程,而且这门课本来就很抽象,因此,上课时就觉得听不懂.上程序设计课时也是一知半解,加上设计课的时间短,所以自己也没有什么进步。老师布置课程设计后,通过不断的学习与实践,慢慢有了一些进步,自己在综合运用所学知识,发现

    31、,提出,分析和解决实际问题,锻炼实践能力的方面有了很大的提高。当今科学技术发展日新日异,计算机应用在生活中更是无处不在。作为一个大学来说掌握计算机技术是十分重要的。9.心得回顾这次的课程设计,我感慨良多。从题目到编程,再从编程到调试,我学到很多很多的的东西,通过这次课程设计,我懂得了学习计算机靠的是大量的上机编程调试,从中才可以不断提高编程水平。在设计的过程中,我遇到了很多问题,这毕竟第一次做的,难免会遇到过各种各样的问题,比如说结构体、调试不成功 我很高兴在我遇到困难的时候,同学们给了我很多的帮助,可以这么说,没有同学们,我现在肯定还没有完成这次课程设计。在设计中遇到了很多编程问题,在同学的帮助下,最后都迎刃而解。最后,我要再次对各位同学和老师说一声,谢谢大家的帮助,谢谢!24


    注意事项

    本文(物资管理系统课程设计报告.doc)为本站会员(精***)主动上传,沃文网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知沃文网(点击联系客服),我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服点击这里,给沃文网发消息,QQ:2622162128 - 联系我们

    版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

    Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1

    陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922