欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    C语言物资标准管理专业系统设计方案报告.doc

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

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

    C语言物资标准管理专业系统设计方案报告.doc

    C语言程序设计汇报物资管理系统 指导老师:姓 名:班级序号:学 号:一 题目要求请设计一个物资管理系统,要求主程序中应提供文字交互菜单界面,要求包含以下多个功效模块: 信息输入模块input():建立物资管理数据总文件,完成对物资原库存信息录入,并存放到指定文件中(pro.dat) 信息查找模块search():采取以下方法进行查找,若找到,则输出该物资相关信息;没有则给出提醒信息。()按产品名称查询()进货日期查询并统计。()按产品名称和规格查询并统计。 新物资入库模块insert():在原数据文件中插入新物资信息。 领料模块lend():查找所领取物资信息,满足领料要求,请登记领取物资名称,日期,数量(领料后修改) 打印功效模块printf()(1)打印领料单()打印物资库存清单。二 需求分析依据题目要求,因为物资信息是存放在文件中,所以提供文件输入,输出等操作在程序中需要浏览物资需要浏览物资信息,应提供显示,查找等操作;另外还应提供键盘选择菜单实现功效选择。三 总统设计依据上面分析及题目要求能够分为以下六个模块(系统模块以下图1。)物资管理系统商品种类输入商品查询模块商品信息输入商品领取模块打印商品信息系统推出四 具体设计(一)主函数通常是设计简练,只提供输入,处理和输出部分函数调用。其中各功效模块用菜单方法选择。其中步骤图图(2)menu() int n,w1; do puts("ntt*MENU*nn"); puts("ttt1.物资信息输入模块"); puts("ttt2.查询模块"); puts("ttt3.物资信息查找模块"); puts("ttt4.领料查询"); puts("ttt5.打印模块"); puts("ttt6.Exit"); puts("nntt*n"); puts("tt*by 袁璐n"); puts("tt*.12.29n"); printf("选择你要得命令 1-6: bb");开始 scanf("%d",&n); if(n<1|n>6) N显示一系列功效选择 w1=1;getchar(); else w1=0; while(w1=1);输入n,判定m 是否是1到6?switch(n) case 1:enter();break; case 2:search();break; case 3:insert();break; 图2 case 4:lend();break; 依据n值调用各功效模块函数 case 5:print();break; case 6:exit(0); 结束main() *主函数* puts("ntt*欢迎进入物资管理系统*nn"); puts("ttt姓名:袁璐"); puts("ttt学号:1002604"); puts("tttEmail:"); puts("tttTel:"); puts("nntt*n"); puts("tt*制作 袁璐n"); puts("tt*.12.29n"); printf("n按ENTER键进入."); getch(); menu();(二)各功效模块设计1.输入模块*多个类型,名称等信息 *enter()int i,n; printf("n物资种类大小(0-%d)?:",N-1); scanf("%d",&n); printf("n输入数据nn"); for(i=0;i<n;i+) printf("输入第多个物资名称。数量规格日期:n",i+1); input(i); if(i!=0)save(n); printf_back();input(int i) printf("nname(1-20letter):"); scanf("%s",&proi.p_name); printf("nnumber(1-7num):"); scanf("%d",&proi.p_num); printf("nsize(1-4letter):"); scanf("%s",&proi.size); printf("ndate:"); scanf("%d.%d.%d",&proi.in_date.year,&proi.in_date.month,&proi.in_date.day); printf("min_s real_s max_s:"); printf("n最小库存量 真实库存量 最大库存量"); scanf("%d %d %d",&proi.min_s,&proi.real_s,&proi.max_s);printf_data(int i) printf("nnamettnumtsizetdatettmin real maxn");printf("%st%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);关键是为了输入商品类型,名称,数量,型号,日期,最大,最小,真实库存量,并存放在指定文件(pro.dat)中。但要注意到输入时间,最大最小库存格式(如) 请输入第 1th中商品信息 :name(1-20letter):苹果number(1-7num):1size(1-4letter):2date:.06.06amountmin-real-max:3-4-5 (二)searchmenu()*查询模块*int n,w2; do puts("ntt*查询菜单*nn"); puts("ttt1.姓名查询"); puts("ttt2.日期查询"); puts("ttt3.物资名称和规格查询"); puts("ttt4.返回"); puts("nntt*n"); printf("选择你要得命令 1-4: bb"); scanf("%d",&n); if(n<1|n>4) 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(); search() searchmenu();search_by_name()int j,n,m=0;char a20; n=load(); printf("n输入你要查询物资名称nname:"); scanf("%s",a); for(j=0;j<n;j+) if(strcmp(a,proj.p_name)=0) m+; printf_data(j); printf("n查找第多个物资!",m);getch();menu();struct s_dateint year; int month; int day;s;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;j<n;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查找第多个物资在那天!",m);getch();menu();search_by_nameandsize()int j,n,m=0;char a20,b4; n=load(); printf("n输入你要查询物资名称!nname:"); scanf("%s",a); printf("n输入你要查询物资规格!nsize:"); scanf("%s",b); for(j=0;j<n;j+) if(strcmp(a,proj.p_name)=0)&&(strcmp(b,proj.size)=0) m+; printf_data(j); printf("查找第多个物资!",m);getch();menu();关键以一个查询方法进行说明步骤图以下:开始输入商品名称是否查到此商品信息显示找到结果提醒没有找到并返回主菜单操作图 *菜单*开始选择2 1.商品种类输入n 2.商品查找 3.新商品信息录入 4.领取商品判定m 是否是0到4? 5.打印商品信息 6.退出依据n值调用各功效模块函数 * *by袁璐结束返回 *.12.29Choice your order 1-6:2 *SEARCH* 1.经过商品名查询 2.经过录入日期查询 3.经过商品名和日期查询 4.返回菜单 *请选择要查询种类 1-4:1输入你要查询商品名称!name:苹果name num size date min-real-max苹果 4362900 2 .6.6 3-4-5找到 1 种商品! *菜单*(三)新物资录入 在此函数上对新料进行了统计insert()int n,c; n=load(); puts("nInput one data:n"); do input(n); printf_data(n); printf("nnAre you sure?n1).suren2).cancel and againn3).back without save bb"); scanf("%d",&c); if(c=1)save(n+1);printf_back(); else if(c!=2)menu(); while(c=2);input(int i) printf("nname(1-20letter):"); scanf("%s",&proi.p_name); printf("nnumber(1-7num):"); scanf("%d",&proi.p_num); printf("nsize(1-4letter):"); scanf("%s",&proi.size); printf("ndate:"); scanf("%d.%d.%d",&proi.in_date.year,&proi.in_date.month,&proi.in_date.day); printf("min_s real_s max_s:"); printf("n最小库存量 真实库存量 最大库存量"); scanf("%d %d %d",&proi.min_s,&proi.real_s,&proi.max_s);该函数据对物资进行了全方面查找(四)领料模块*查找对所领聊信息,若满足领料要求,便登记一系列内容,并修改 程序以下struct one_prochar p_name20; char size4; struct date one_date; long int total; struct one_pro *next;check;lend()int j,n; n=load(); printf("n请检验你要带走物资日期等信息!"); printf("nname(1-20letter) size(1-4letter) date 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;j<n;j+)if(strcmp(check.p_name,proj.p_name)=0)&&(strcmp(check.size,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); printf_back(); else printf("日期错误!");(五)采取文件来存放数据信息#include<stdio.h>save(int n) FILE*fp; int k; if(fp=fopen("pro.dat","wb")=NULL) printf("nCannot open file!n"); return NULL; for(k=0;k<n;k+) if(prok.real_s!=0) if(fwrite(&prok,sizeof(struct product),1,fp)!=1) printf("文件书写错误!n"); fclose(fp);load() 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);C语言课程设计感想:在学习C语言这门课时,因为是第一次接触计算机课程,而且这门书原来就很抽象,所以,上课时就认为听不懂.上程序设计课时也是一知半解,加上设计课时间短,所以自己也没有什么进步。老师部署课程设计后,经过不停学习和实践,慢慢有了部分进步,自己在综合利用所学知识,发觉,提出,分析和处理实际问题,锻炼实践能力方面有了很大提升。当今科学技术发展日新日异,计算机应用在生活中更是无处不在。作为一个大学来说掌握计算机技术是十分关键。回顾这次课程设计,我感慨良多。从题目到编程,再从编程到调试,我学到很多很多东西,经过这次课程设计,我知道了学习计算机靠是大量上机编程调试,从中才能够不停提升编程水平。在设计过程中,我碰到了很多问题,这毕竟第一次做,难免会碰到过多种多样问题,比如说结构体、调试不成功 我很快乐在我碰到困难时候,同学们给了我很多帮助,能够这么说,没有同学们,我现在肯定还没有完成这次课程设计。在设计中碰到了很多编程问题,在同学帮助下,最终全部迎刃而解。最终,我要再次对各位同学和老师说一声,谢谢大家帮助,谢谢!后附程序及运行结果一,程序#include<stdio.h>#include<string.h>#define N 100struct dateint year; int month; int day;struct productchar 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;menu() int n,w1; do puts("ntt*MENU*nn"); puts("ttt1.物资信息输入模块"); puts("ttt2.查询模块"); puts("ttt3.物资信息查找模块"); puts("ttt4.领料查询"); puts("ttt5.打印模块"); puts("ttt6.Exit"); puts("nntt*n"); puts("tt*by 董刚n"); puts("tt*0101n"); printf("选择你要得命令 1-6: bb"); scanf("%d",&n); if(n<1|n>6) 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 6:exit(0); main() puts("ntt*欢迎进入物资管理系统*nn"); puts("ttt姓名:袁璐"); puts("ttt学号:1002604"); puts("tttEmail:"); puts("tttTel:"); puts("nntt*n"); puts("tt*制作 袁璐n"); puts("tt*.12.29n"); printf("n按ENTER键进入."); getch(); menu();enter()int i,n; printf("n物资量大小(0-%d)?:",N-1); scanf("%d",&n); printf("n输入数据nn"); for(i=0;i<n;i+) printf("输入第多个物资名称。数量规格日期:n",i+1); input(i); if(i!=0)save(n); printf_back();searchmenu()int n,w2; do puts("ntt*查询菜单*nn"); puts("ttt1.姓名查询"); puts("ttt2.日期查询"); puts("ttt3.物资名称和规格查询"); puts("ttt4.返回"); puts("nntt*n"); printf("选择你要得命令 1-4: bb"); scanf("%d",&n); if(n<1|n>4) 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(); search() searchmenu();search_by_name()int j,n,m=0;char a20; n=load(); printf("n输入你要查询物资名称nname:"); scanf("%s",a); for(j=0;j<n;j+) if(strcmp(a,proj.p_name)=0) m+; printf_data(j); printf("n查找第多个物资!",m);getch();menu();struct s_dateint year; int month; int day;s;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;j<n;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查找第多个物资在那天!",m);getch();menu();search_by_nameandsize()int j,n,m=0;char a20,b4; n=load(); printf("n输入你要查询物资名称!nname:"); scanf("%s",a); printf("n输入你要查询物资规格!nsize:"); scanf("%s",b); for(j=0;j<n;j+) if(strcmp(a,proj.p_name)=0)&&(strcmp(b,proj.size)=0) m+; printf_data(j); printf("查找第多个物资!",m);getch();menu();insert()int n,c; n=load(); puts("nInput one data:n"); do input(n); printf_data(n); printf("nnAre you sure?n1).suren2).cancel and againn3).back without save bb"); scanf("%d",&c); if(c=1)save(n+1);printf_back(); else if(c!=2)menu(); while(c=2);struct one_prochar p_name20; char size4; struct date one_date; long int total; struct one_pro *next;check;lend()int j,n; n=load(); printf("n请检验你要带走物资日期等信息!"); printf("nname(1-20letter) size(1-4letter) date 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;j<n;j+)if(strcmp(check.p_name,proj.p_name)=0)&&(strcmp(check.size,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); printf_back(); else printf("日期错误!");print()int i,n; n=load(); for(i=0;i<n;i+) printf_data(i); getch(); menu();#include<stdio.h>save(int n) FILE*fp; int k; if(fp=fopen("pro.dat","wb")=NULL) printf("nCannot open file!n"); return NULL; for(k=0;k<n;k+) if(prok.real_s!=0) if(fwrite(&prok,sizeof(struct product),1,fp)!=1) printf("文件书写错误!n"); fclose(fp);load() 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);input(int i) printf("nname(1-20letter):"); scanf("%s",&proi.p_name); printf("nnumber(1-7num):"); scanf("%d",&proi.p_num); printf("nsize(1-4letter):"); scanf("%s",&proi.size); printf("ndate:"); scanf("%d.%d.%d",&proi.in_date.year,&proi.in_date.month,&proi.in_date.day); printf("min_s real_s max_s:"); printf("n最小库存量 真实库存量 最大库存量"); scanf("%d %d %d",&proi.min_s,&proi.real_s,&proi.max_s);printf_data(int i) printf("nnamettnumtsizetdatettmin real maxn");printf("%st%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);printf_back()printf("nnSuccessful!_nn谢谢使用任意键返回n"); getch(); menu(); 二,程序截图运行结果

    注意事项

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

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开