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

    长江大学工程技术学院C语言课程设计实习报告(共17页).doc

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

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

    长江大学工程技术学院C语言课程设计实习报告(共17页).doc

    精选优质文档-倾情为你奉上长江大学工程技术学院C语言课程设计实习报告 小型仓库管理系统学生姓名:周伟 学号:序号:33专业班级:测控61001指导老师:贾晓艳报告日期:2011.07.10第一部分 课程设计的题目与要求1、 问题的提出在主函数中读入原始数据文件的内容,保存在对应的结构体数组中,然后显示菜单,利用菜单调用函数,分别完成一下功能:2、 功能要求 (1) 对仓库中库存物品信息实现查询和显示功能: 按物品名查询 查询库存数量不足的物品 显示全部信息。将满足查询条件的整条记录显示在屏幕上。(2) 对物品库存信息实现排序功能:按物品名排序 按物品的分类排序。将排序后的结果显示在屏幕上。(3) 统计仓库整所以物品的总价,以及每种不同分类物品的总价。用C语言创建一个数据文件,用该文件来存放统计后的结果。(4) 实现物品的出库。当要从出库中提取某种物品时,先查询该物品的库存数是否满足要求。若满足,则允许出库,此时要将物品的出库信息写在物品的出库文件中。并修改物品的库存信息。(5) 实现物品库存信息的修改功能。先查询出要修改的记录,然后选择要修改的字段名,并输入新的字段信息。将新的字段信息写入文本文件中。第二部分 课程设计题目功能1、 系统功能模块框图设计主函数 main()按物品名查询物品查询库存不足的物品按物品名排序单个物品总价分类物品总价物品出库显示全部信息信息修改保存功能菜单2、 数据结构说明 基本类型:int n 用来储存库存信息的条数。 数组类型:char s1200 用来储存无规律的字符串。 结构体:struck STORE 用来储存物品库存信息。3、 详细设计 函数findshangpin(),函数的作用是按物品名查找物品。其中定义变量int a,i=1; char s220;a是循环变量,i是用作if的判断条件,字符数组char 用于储存输入的字符串。 函数 buzu(),函数作用是按库存数不足查询。其中的变量有int a,i=1;a是循环变量,i是用作if的判断条件。 函数 paixu(),作用是按物品名排序。其中定义变量:int s=8,i,j,k;struct STORE tt;s是for循环的结束条件,i,j,k是循环变量,结构体tt用来保存物品的信息。 函数 danzongjia(),作用是计算单个物品的总价,其中定义变量:double s20;int i;char s2200;s2用来保存总价,i是循环变量,s2用来保存无规律的字符串。 函数 fenzongjia(),作用是统计单个物品的总价。其中定义的变量:double sum4=0,0,0,0;int i; char s2200="分类 分类总价n" struct fen。实型数组sum4用来保存计算的总价,i是循环变量,字符数组s2用来保存无规律的字符串,结构体struct用来保存各种物品名。 函数 cuku(),作用是实现物品的出库。其中定义的变量:int s,a,i=1,x=0; char s220;其中s是储存物品的出库数量,i,x都是用作if的判断条件,字符数组s2是用来储存出库物品的物品名。 函数 quanbuxinxi(),作用是显示全部信息。其中定义的变量:int i是循环变量。 函数 baocun(),作用是保存修改后的信息,其中变量int i是循环变量。 函数 read(),作用是从文件中读取数据,并把数据赋给结构体struct STORE store20;其中变量int i是循环变量。 函数 main(),作用是作菜单并调用其他功能的函数。 例如:void findshangpin() void buzu() void paixu() void fenpaixun() void danzongjia() void fenzongjia() void cuku() void quanbuxinxi() void xiugai() void baocun() void read() void main() int a; read();while(1) printf ("*小型产库管理系统*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 (".10.保存n"); printf (".11.退出n"); printf ("请选择n"); scanf("%d",&a);switch(a)case 1:findshangpin();break;case 2:buzu();break;case 3:paixu();break;case 4:fenpaixun();break;case 5:danzongjia();break;case 6:fenzongjia();break;case 7:cuku();break;case 8:quanbuxinxi();break;case 9: xiugai();break;case 10: baocun();break;case 11:"exit(0)"4、调试与测试 程序运行开始: 按物品名查询物品,由键盘输入数字1,按下回车键,得出所有物品的全部信息,例如: 调整输入法后输入所要查找的物品例如:“作业本”,输入后查找出作业本的全部信息,例如:如果没有所要查找的物品则输出“NO FOUND”,例如: 查询库存不足的物品,题目要求选出库存数量小于30的物品则输入2后,在所有物品中找出库存数少于30的物品所有信息,程序运行结果为:运行后找出“红叶台灯”,“江明饼干”库存不足30. 按物品名分类排序,比较物品名的大小,由小到大排序,输入3,运行结果为: 统计单个物品总价,单价乘以库存数得出的总价,运行后将所有物品的信息输出来,输入4,得出结果,例如:统计分类物品总价,按照生活用品,学习用品,食品,饮料进行分类,并统计出个大类物品的总价后输出,输入6,运行出结果,例如: 物品出库,选择所要出库的物品及数量,如果所要出库的数量小于库存数,输出所选的物品及数量,并修改库存数,输入物品名“统一矿泉水”,和数量30后得出结果,例如: 如果出库数量不满足则输出“库存量不足,不能出库”,输入出库数10000,得出结果,例如: 显示全部信息,将出库后的物品信息全部显示出来,输入8,显示出信息,例如: 保存,保存运行后的所有信息到原文本文件中,程序运行全部结束。第三部分 课程设计总结 C语言课程设计是一门比较接近实际的课程,刚开始接触这门课程时,总觉得这太复杂了,和我们平时学习的编程题有太大的不同,因为它的综合性太强了。由于平时学习的知识太散乱,不容易整合到一起,哪怕是平时学习时一个知识点没搞懂,都很难把程序继续编下去,刚开始的上课,完全无从下手,所以只好再把课本看一遍,经过几次课,渐渐感觉到整个程序不就是多个小程序组合在一起。之后我就将程序分成查找、分类、排序、修改,这几大类。虽然把程序分解后,还是遇到很多麻烦,特别是要写“物品出库”这个函数时,很是头疼,因为这个程序既要考虑到物品名,又要考虑出库数,还要考虑出库数是否满足库存数,程序总是出现问题,不过后来接触多了,不懂得去问老师、同学,了解的多了,渐渐地也就懂了不少,尤其是把整个程序写完后,运行处结果了,就感觉到付出这么多也算值了。虽然程序设计完成了,但是还是有一些不足之处,例如:程序编得太复杂,缺少一些警告语句等。不过在这半个月的学习中,确实学到了很多东西,我们考虑事情不能太过简单,太过马虎,一定要思维严谨,当然相互交流,相互合作也是非常重要的。总之,这次课程设计过得挺充实。附录 程序清单#include<stdio.h>#include<stdlib.h>#include<string.h>struct STOREchar shangpin50;char fenlei50;float danjia;int kucun ;store20;int n=8;char s1200;struct STORE1char shangpin30; float danjia; int kucun;STORE120;void findshangpin() int a,i=1; char s220; printf("1.按物品名查询物品n"); printf ("输入要查找的物品:n"); fflush(stdin);.清除缓冲区 scanf("%s",s2); for(a=0;a<n;a+) if(strcmp(s2,storea.shangpin)=0).判断查找物品是否存在 printf ("%s %s 单价%.2f 库存%d n",storea.shangpin, storea.fenlei,storea.danjia,storea.kucun);i=0; if(i) printf("NO FOUND");void buzu()/int a,i=1; printf("2.查询库存数量不足的物品n"); for(a=0;a<n;a+) if(storea.kucun<=30).判断库存数是否小于30 printf ("%s %s 单价%.2f 库存%d n",storea.shangpin, storea.fenlei,storea.danjia,storea.kucun);i=0; if(i) printf("NO FOUND");void paixu()int s=8,i,j,k;struct STORE tt; printf("3.按物品名排序n"); for(i=0;i<s-1;i+) k=i;for(j=i+1;j<s;j+)if(strcmp( storek.shangpin,storej.shangpin)>0)比较字符串k=j;if(k!=i)tt=storei; storei=storek; storek=tt;puts(s1); for(i=0;i<n;i+) printf("%s %s %.2f %dn",storei.shangpin, storei.fenlei,storei.danjia,storei.kucun );void fenpaixun() printf("4.按物品名的分类排序n");void danzongjia() double s20;int i;char s2200="商品名 分类 单价 库存 总价n" printf("5.单个物品总价n");for(i=0;i<n;i+)si=storei.danjia*storei.kucun; FILE *fp;定义指针变量用来储存文件地址 fp=fopen("CK0133_store02.txt","w");.打开文件并将文件的地址赋给fp if(fp=NULL).判断文件中要找的物品是否存在 printf("文件打开失败n"); exit(0); fputs(s2,fp); for(i=0;i<n;i+) fprintf(fp,"%s %s %.2f %d %.2lfn",storei.shangpin ,storei.fenlei,storei.danjia,storei.kucun,si); fclose(fp);关闭文件puts(s2);.输出函数 for(i=0;i<n;i+) printf("%s %s %.2f %d %.2lfn",storei.shangpin ,storei.fenlei,storei.danjia,storei.kucun,si);void fenzongjia()double sum4=0,0,0,0; int i;char s2200="分类 分类总价n" struct fen char ming10;m4="饮料","食品","学习用品","生活用品" printf ("6.分类物品总价n"); for(i=0;i<n;i+) if(strcmp(storei.fenlei,"饮料")=0) sum0=sum0+storei.danjia*storei.kucun; if(strcmp(storei.fenlei,"食品")=0) sum1=sum1+storei.danjia*storei.kucun; if(strcmp(storei.fenlei,"学习用品")=0) sum2=sum2+storei.danjia*storei.kucun; if(strcmp(storei.fenlei,"生活用品")=0) sum3=sum3+storei.danjia*storei.kucun; FILE *fp; fp=fopen("CK0133_store03.txt","w"); if(fp=NULL) .判断文件中要找的物品是否存在 printf("文件打开失败n"); exit(0); fputs(s2,fp); for(i=0;i<4;i+) fprintf(fp,"%s %.2lfn",mi.ming,sumi); fclose(fp); puts(s2); for(i=0;i<4;i+) printf("%s %.2lfn",mi.ming,sumi);void cuku() printf ("7.物品出库n");int s,a,i=1,x=0;char s220; printf("请输入所需的物品名:"); fflush(stdin);.清空缓冲区 gets(s2); for(a=0;a<n;a+)if(strcmp(s2,storea.shangpin)=0) printf("请输入物品所需的数量:");scanf("%d",&s); if(storea.kucun>=s) printf("允许出库n");storea.kucun=storea.kucun-s;printf("%s出库后信息:n",s2); puts(s1); printf("%s %s %.2f %dn",storea.shangpin ,storea.fenlei,storea.danjia,storea.kucun );x=1;将商品的详细详细输出来elseprintf("库存量不足,不能出库n"); i=0; break; if(i) printf("没有此种商品n"); if(x)FILE *fp,*fp1;定义指针变量 fp=fopen("CK0133_out.txt","a"); if(fp=NULL) .判断文件中要找的物品是否存在 printf("文件打开失败n"); exit(0); fprintf(fp,"%s %.2lf %dn",s2,storea.danjia,s); fclose(fp); fp1=fopen("CK0133_store.txt","w"); if(fp=NULL) printf("文件打开失败n"); exit(0); fputs(s1,fp1); for(i=0;i<n;i+) fprintf(fp1,"%s %s %.2f %dn",storei.shangpin,storei.fenlei,storei.danjia,storei.kucun); fclose(fp1);void quanbuxinxi()int i; printf ("8.显示全部信息n"); puts(s1); for(i=0;i<n;i+) printf("%s %s %.2f %dn",storei.shangpin ,storei.fenlei,storei.danjia,storei.kucun );void xiugai() printf ("9.信息修改n");void baocun() int i; printf ("10.保存n"); FILE *fp; fp=fopen("CK0133_store.txt","w"); if(fp=NULL)printf("文件打开失败n"); exit(0); fputs(s1,fp); for(i=0;i<n;i+) fprintf(fp,"%s %s %.2f %dn",storei.shangpin ,storei.fenlei ,storei.danjia ,storei.kucun ); fclose(fp);void read()/ int i; FILE *fp; fp=fopen("CK0133_store.txt","r"); if(fp=NULL)printf("文件打开失败n"); exit(0); fgets(s1,180,fp); for(i=0;i<n;i+) fscanf(fp,"%s%s%f%d",storei.shangpin,storei.fenlei, &storei.danjia,&storei.kucun); printf("从文件读出的结果为:n"); puts(s1); for(i=0;i<n;i+) printf("%s %s %.2f %dn", storei.shangpin ,storei.fenlei, storei.danjia,storei.kucun); fclose(fp);void save()int i; FILE *fp; fp=fopen("CK0133_store.txt","w"); if(fp=NULL)printf("文件打开失败n"); exit(0); fputs(s1,fp); for(i=0;i<n;i+) fprintf(fp,"%s %s %.2f %dn", storei.shangpin,storei.fenlei, storei.danjia,storei.kucun); fclose(fp);void main() int a; read();while(1) printf ("*小型产库管理系统*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 (".10.保存n"); printf (".11.退出n"); printf ("请选择n"); scanf("%d",&a);switch(a)case 1:findshangpin();break;case 2:buzu();break;case 3:paixu();break;case 4:fenpaixun();break;case 5:danzongjia();break;case 6:fenzongjia();break;case 7:cuku();break;case 8:quanbuxinxi();break;case 9: xiugai();break;case 10: baocun();break;case 11:"exit(0)"指导教师评语:报告成绩:指导教师签名: 年 月 日专心-专注-专业

    注意事项

    本文(长江大学工程技术学院C语言课程设计实习报告(共17页).doc)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

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




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

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

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

    收起
    展开