您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > C语言课设第4题报告
指导教师评语:报告成绩:指导教师签名:年月日长江大学工程技术学院C语言课程设计实习报告C语言课程设计上机练习班级:老师:姓名:序号:学号:小型仓库管理系统1、问题的提出:首先,因为我做的题目有两个文本文档,所以刚开始时我不知所措,当别的同学做一个文档的程序时,我还在考虑我应该做几个?应该怎么做?其次,在做程序的过程中有很多处细节没有注意,导致最后程序的执行出现问题。再次,由于平时对基础掌握的不够牢固,导致编写程序时出现瓶颈。2、功能要求:在主函数中读入原始数据文件的内容,保存在对应的结构体数组中,然后显示菜单,利用菜单调用各个函数,分别完成如下功能:(1)对仓库中库存的物品信息实现查询和显示功能:○1按物品名查询该物品的详细信息○2查询库存数量不足的物品(库存数量=30)○3显示全部物品信息。将盲足查询条件的整条记录显示在屏幕上。(2)对物品库存信息实现排序功能:○1按物品名排序○2按物品的分类排序。将排序后的结果显示在屏幕上。要求至少实现一种排序方式。(3)统计仓库中所有物品的总价,以及每种不同分类的物品总价。用C语言创建一个数据文件,用该文件来存放统计后的结果。(4)实现物品的出库。当要从仓库中提取某种物品时,先查询该物品的库存数量是否满足所购要求。若满足,刚允许出库,此时要将物品出库信息写入物品出库信息文件中。并修改物品的库存信息。(5)实现物品库存信息的修改功能。先查询出要修改的记录,然后选择要修改的字段名,并输入新的字段信息。将新的字段信息写入文件中。课程设计题目功能1、系统功能模块框图设计主菜单信息查询物品信息的排序所有物品的总价及分类的物品总价物品的出库库存信息的修改退出2、数据结构说明#includestdio.h函数名printf、scanf、puts等的使用#includestring.h“比较两个字符串”等功能的使用#includestdlib.h“分配size字节的存储区”功能的使用#defineN8将N的值定义为8structTT定义一个结构体,里面包含shangpm,fenlei,danjia,shuliang.并定义一个结构体数组变量cangku[15]{charshangpm[15];/*商品名*/charfenlei[8];/*分类*/floatdanjia;/*单价*/intshuliang;/*库存数量*/}cangku[15];/*结构体数组变量*/voidmain()/*定义主函数*/{readfile1();/*执行函数readfile1()*/menu();/*执行函数menu()*/}3、详细设计(1)实现物品的查询功能:定义函数wpxxcx,其功能是从键盘上输入数据与结构体中的数据进行比较判断,判断后输出相同商品的所有信息,最后在主函数中调用,并将查询后的结果显示在屏幕上。(2)实现物品信息的排序功能:定义函数wpxxpx,其功能就是按程序要求的分类方式对物品进行排序,并将排序后的结果显示在屏幕上。(3)实现物品总价及分类物品总价的功能:定义函数wpzjjflwpzj,其功能就是分别显示出所有物品总价和各个物品的总价,并用C语言创建一个数据文件,用该文件来存放统计后的结果。(4)实现物品的出库功能:定义函数wpck,其功能就是将满足条件的物品允许出库,将物品出库信息写入物品出库信息的文件中。(5)实现物品库存信息的修改功能:定义函数wpkcxxdxggn,其功能就是先查询出要修改的记录,然后选择要修改的字段名,并输入新的字段信息,完成其修改功能。(6)退出功能:退出程序并保存数据。输入错误,重新操作结束wpxxpx()wpxxcx()?wpzjjflwpzj()readfile1()tc()wpkcxxdxggn()wpck()执行查询功能执行排序功能物品总价执行退出功能执行修改功能物品出库开始main()100101010101系统流程图wpxxcx()物品名flay()商品信息不存在该商品10函数wpxxcx的流程图wpxxpx()物品名/分类i=0;iN-1;i++tcangku[k]cangku[i]排序结果函数wpxxpx的流程图wpzjjflwpzj()所有物品总价每类物品总价物品总价饮料生活用品学习用品食品函数wpzjjflwpzj的流程图wpkcxxdxggn()fp==NULLfor(i=0;i8;i++)打开文件失败请输入新的商品名输出修改过后的程序请输入新的库存数量请输入要修改的商品名请输入新的分类请输入新的单价函数wpkcxxdxggn的流程图调试与测试图(1)程序主菜单图(2)输入1后执行查询功能,并查询后的结果图(3)输入2执行排序功能图(4)输入3后执行分类及总价功能图(5)输入4执行物品出库及修改功能图(6)输入5执行修改功能,并修改后的结果图(7)输入6执行后的结果附录:调试与测试#includestdio.h#includestring.h#includestdlib.h#defineN8structTT{charname[15];//商品名charclassified[8];//分类floatunit_price;//单价intquantity;//库存数量}cangku[15];structHH{charwupin[15];//物品floatunit_price;//单价intquantity;//出库数量}chuku[8];voidreadfile1(){inti;FILE*fp;fp=fopen(D:\\jw0103-store.txt,r);if(fp==NULL){printf(cannotopenfile!\n);}for(i=0;iN;i++){fscanf(fp,%s%s%f%d,cangku[i].name,cangku[i].classified,&cangku[i].unit_price,&cangku[i].quantity);}for(i=0;i8;i++)printf(%-14s%-12s%-12.2f%d\n,cangku[i].name,cangku[i].classified,cangku[i].unit_price,cangku[i].quantity);fclose(fp);}voidwpxxcx()//查询{charname[8];inti,flag=1;printf(请输入查询的物品名:\n);scanf(%s,name);printf(\n);printf(\t商品名分类单价库存数量\n);for(i=0;iN;i++){if(strcmp(name,cangku[i].name)==0){printf(\t%-10s\t%-10s\t%-10.2f\t%d\n,cangku[i].name,cangku[i].classified,cangku[i].unit_price,cangku[i].quantity);flag=0;break;}}if(flag){printf(不存在商品\n);}printf(\n);printf(库存小于30的物品:\n);printf(\t商品名分类单价库存数量\n);for(i=0;i8;i++){if((cangku[i].quantity)30)printf(\t%-10s\t%-10s\t%-10.2f\t%d\n,cangku[i].name,cangku[i].classified,cangku[i].unit_price,cangku[i].quantity);}}voidwpxxpx()//物品信息排序{inti,j,k;structTTt;printf(按物品名排序:\n);for(i=0;iN-1;i++){k=i;for(j=i+1;jN;j++){if(strcmp(cangku[k].name,cangku[j].name)0){k=j;}}t=cangku[k];cangku[k]=cangku[i];cangku[i]=t;}printf(\t商品名分类单价库存数量\n);for(i=0;iN;i++){printf(\t%-10s\t%-10s\t%-10.2f\t%d\n,cangku[i].name,cangku[i].classified,cangku[i].unit_price,cangku[i].quantity);}printf(\n);printf(按物品的分类排序:\n);for(i=0;iN-1;i++){k=i;for(j=i+1;jN;j++){if(strcmp(cangku[k].classified,cangku[j].classified)0){k=j;}}t=cangku[k];cangku[k]=cangku[i];cangku[i]=t;}printf(\t商品名分类单价库存数量\n);for(i=0;iN;i++){printf(\t%-10s\t%-10s\t%-10.2f\t%d\n,cangku[i].name,cangku[i].classified,cangku[i].unit_price,cangku[i].quantity);}}voidwpzjjflwpzj()//物品总价及分类物品总价{inti;floattotal=0,s1=0,s2=0,s3=0,s4=0;printf(所有物品总价:\n);for(i=0;i8;i++){total+=cangku[i].unit_price*cangku[i].quantity;}printf(%0.2f\n,total);printf(分类总价\n);for(i=0;i8;i++){if(strcmp(cangku[i].classified,食品)==0)s1+=cangku[i].unit_price*cangku[i].quantity;}printf(食品%-10.2f\n,s1);for(i=0;i8;i++){if(strcmp(cangku[i].classified,生活用品)==0)s2+=cangku[i].unit_price*cangku[i].quantity;}printf(生活用品%-10.2f\n,s2);for(i=0;i8;i++){if(strcmp(cangku[i].classified,学习用品)==0)s3+=cangku[i].unit_price*cangku[i].quantity;}printf(学习用品%-10.2f\n,s3);for(i=0;i8;i++){if(strcmp(cangku[i].classified,饮料)==0)s4+=cangku[i].unit_price*cangku[i].quantity;}printf(饮料%-10.2f\n,s4);charhead[100]=分类总价;FILE*fp=fopen(统计.txt,w);fprintf(fp,分类总价\n);fprintf(fp,食品%-10.2f\n,s1);fprintf(fp,生活用品%-10.2f\n,s2);fprintf(fp,学习用品%-10.2f\n,s3);fprintf(fp,饮料%-10.2f\n,s4);fprintf(fp,所有物品总价:);fprintf(fp,%-10.2f\n,total);fclose(fp);}voidwpck()//物品出库{inti,m=150;FILE*fp;fp=fopen(D:\\jw0103-out.txt,w);if(fp==NULL){printf(cannotopenfile!\n);}printf(出库商品:\n);printf(物品名单价出库数量\n);for(i=0;i8;i++){if(cangku[i].quantity=m){fprintf(fp,%-10s\t%-10.2f\t%d\n,cangku[i].name,cangk
本文标题:C语言课设第4题报告
链接地址:https://www.777doc.com/doc-2908655 .html