欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    仓库物资管理系统C语言.docx

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

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

    仓库物资管理系统C语言.docx

    1、仓库物资管理系统C语言仓库物资管理系统课程设计课程名称: 程序设计基础姓名:学号:班级:联系方式:1、课程设计目的和要求目的:进一步加深、巩固学生所学专业课程 C 程序设计的基本理论知识,理论联系实际,培养学生综合分析问题和解决问题的能力。掌握运用 C 语言独立地编写、调试应用程序和进行其它相关设计的技能。要求:编写仓库管理系统,实现库存记录、出库记录、入库记录等三方面的功能。2、课程设计名称及内容2.1 课程设计名称仓库物资管理系统2.2 设计内容设计一个仓库物资管理系统,该系统要求对仓库物资信息进行管理和维护,实现仓库物资信息化。2.3 任务和要求1.创建库存记录文件,根据提示输入若干电器

    2、的信息,并将信息保存至一个文件中。2.物资入库管理,创建一个入库记录文件,每次有物资入库,则按入库记录要求输入各项信息,并将该次的入库信息添加到文件中,同时修改相应的库存记录文件。3.物资出库管理,创建一个出库记录文件,每次有物资出库,则按出库记录要求输入各项信息,并将该次的出库信息添加到文件中,同时修改相应的库存记录文件。注意:物资出库时要检查出库数量的合法性(即出库数量必须小于库存数量) 。4.按不同条件进行查询操作,输出满足条件的物资信息。(1)输入电器名称,在库存记录文件中查找相应的物资信息并输出。(2)输入品牌名称,在库存记录文件中查找该品牌的所有电器信息并输出。(3)输入一个日期(

    3、年 . 月. 日),输出该天的入库记录和出库记录。(4)输入电器名称和型号,输出该电器的所有入库记录和出库记录。5.按不同条件对物资信息进行统计工作。(1)输入电器名称,在库存记录文件中统计该电器的现有库存总量。(2)输入电器名称,在入库记录文件中统计该电器的入库次数。(3)输入一个日期(年 .月),在出库记录文件中统计该月的出库记录次数。(4)设置一个库存数量警戒值,输出库存数量小于该警戒值的所有库存电器的信息。3.设计思想作为仓库物资管理系统, 首先要有对物资信息的录入, 库存记录应包括以下信息:电器名称、品牌名称 ( 或生产厂家 ) 、型号、库存数量、价值。主要以录入、查找、增加、修改、

    4、删除、显示等功能,贯穿整个程序。输入要查找的物资名称,系统会自动显示对应的物资信息。最后就是退出程序4程序详细设计程序共有 20 个函数,分别为void CreatStock()void CreatInstock()void Creatoutstock()void SearchElename();void SearchBrand();void SearchDate();void SearchElenameAndBrand();void PrintStock(struct stock *p);void PrintInstock(struct instock *p);void PrintOutst

    5、ock(struct outstock *p)void SearchMenu()void CountMenu()void Count4()void main()int read_stock()int read_instock()int read_outstock()int Count1()int Count2()int Count3()其中程序末尾定义了 main 函数,主函数 void main(),主要通过调用各个成员函数,最终实现物资信息的创建、查找、统计等各项功能。5.课程设计心得与体会在这次 C语言课程设计中,我收获颇丰也发现了自己许多不足的地方,结合自己所学并通过查阅资料, 在程序

    6、设计过程中加深了我对面向对象的程序设计方法的认识, 在巩固了基本的程序设计方法的基础上进一步学习了 C 中类的定义、成员方法的使用以及函数的调用等。同时,在程序的设计过程中暴露出了许多问题,首先,程序设计之初思路混乱,面对程序要求的各项功能如: 教师信息的创建、 删除、修改、查找等无从下手, 最终通过一个个的子函数分别完成不同的功能并通过主函数调用最终实现程序功能的完整性; 第二,平时对于面向对象的程序设计方法仅仅局限于概念上的理解, 真正实现起来被每个对象繁杂的属性搞的晕头转向; 第三,自己对 C语言的学习仅仅局限于课本知识, 很少实践,以至于在编程过程中错误不断甚至出现低级的语法错误。 这

    7、次课程设计使我的编程能力得到了很大的提高, 加深了我对面向对象这一概念的理解, 对以后其他面向对象程序语言的学习打好良好基础,同样也在编程方面积累了经验6.参考资料C 程序设计7程序源代码#include stdio.h#include#include#include#define STOCKNUM 3/ 原来库存中家电的种类#define INSTOCKNUM 3/ 每次输入的家电种类#define OUTSTOCKNUM 3/ 出库家电的种类struct date/时间结构int year;int month;int day;struct stock/ 库存结构char elename20

    8、;char brand20;char type20;int stocknum;int value;stocSTOCKNUM+INSTOCKNUM;struct instock/ 入库结构char elename20;char brand20;char type20;int instocknum;int price;struct date intime;char sendername20;inINSTOCKNUM;struct outstock/ 出库结构char elename20;char brand20;char type20;int outstocknum;struct date out

    9、time;char delivername20;outOUTSTOCKNUM;/-void CreatStock()/ 创建库存记录文件int i;FILE *fp;if(fp=fopen(stock.txt,w)=NULL)printf(Cant open file!n);exit(0);for(i=0;iSTOCKNUM;i+)printf( 请输入电器的信息 !n);printf(n 电器名称 品牌名称 型号 库存数量 价值 n);scanf(%s %s %s %d %d,stoci.elename,stoci.brand,stoci.type,&stoci.stocknum,&stoc

    10、i.value);fwrite(&stoci,sizeof(struct stock),1,fp);fclose(fp);/-int read_stock()/ 读取库存文件到 stocint i=0;FILE *fp;if(fp=fopen(stock.txt,r)=NULL)printf(Cant open !n);return 0;if( fgetc(fp)0 ) / 读入的是文件结束符return 0;rewind(fp);/ 使位置指针重新移到文件开头while( !feof(fp) )fread(&stoci,sizeof(struct stock),1,fp);i+;fclose

    11、(fp);return -i;/ 返回库存家电的种类/-int read_instock()/ 读取入库文件到 inint i=0;FILE *fp;if(fp=fopen(instock.txt,r)=NULL)printf(Cant open !n);return 0;if( fgetc(fp)0 ) return 0;rewind(fp);while( !feof(fp) )fread(&ini,sizeof(struct instock),1,fp);i+;fclose(fp);return -i;/ 返回入库家电的种类/-int read_outstock()/ 读取出库文件到 ou

    12、tint i=0;FILE *fp;if(fp=fopen(outstock.txt,r)=NULL)printf(Cant open !n);return 0;if( fgetc(fp)0 ) return 0;rewind(fp);while( !feof(fp) )fread(&outi,sizeof(struct outstock),1,fp);i+;fclose(fp);return -i;/ 返回出库家电的种类/-void CreatInstock()/ 创建入库记录并改变库存记录int i,j,k;int an=STOCKNUM;int boolean=0;FILE *fp;if

    13、(fp=fopen(instock.txt,w)=NULL)printf(Cant open file!n);exit(0);for(i=0;iINSTOCKNUM;i+)printf( 电器名称 品牌名称 型号 入库数量 单价 入库时间(年 月 日) 送货人姓名 n);scanf(%s %s %s %d %d %d %d %d %s,ini.elename,ini.brand,ini.type,&ini.instocknum,&ini.price,&ini.intime.year,&ini.intime.month,&ini.intime.day,ini.sendername);printf

    14、( 有物资入库! n);fwrite(&ini,sizeof(struct instock),1,fp);fclose(fp);read_instock();/ 读取 instock.txt 入 in;read_stock();/ 读取 stock.txt 入 stoc;for(k=0;kINSTOCKNUM;k+)boolean=0;for(j=0;jSTOCKNUM;j+)if(strcmp(stocj.elename,ink.elename)=0 &strcmp(stocj.brand,ink.brand )=0 & strcmp(stocj.type ,ink.type )=0 )st

    15、ocj.stocknum =stocj.stocknum +ink.instocknum ;boolean=1;if( boolean=0 )/ 原来库存中没有此类家电strcpy(stocan.elename ,ink.elename );strcpy(stocan.brand ,ink.brand );strcpy(stocan.type ,ink.type );stocan.stocknum =ink.instocknum ;stocan.value=ink.price ;an+;if(fp=fopen(stock.txt,w)=NULL)printf(Cant open file!n)

    16、;exit(0);fwrite(stoc,sizeof(struct stock),an,fp);fclose(fp);/-void Creatoutstock()/ 创建出库记录并改变库存记录int i=0,j=0,k=0,n=0;int sum_stock=0;FILE *fp;sum_stock=read_stock();/ 读取 stock.txt 入 stocprintf( 共有家电物资 %d 种 n,sum_stock);for(n=0;nOUTSTOCKNUM;n+)printf( 电器名称 品牌名称 型号 出库数量 出库时间(年 月 日) 提货人姓名n);scanf(%s %s

    17、 %s %d %d %d %d %s,outn.elename,outn.brand,outn.type,&outn.o utstocknum ,&outn.outtime .year ,&outn.outtime .month,&outn.outtime .day,outn.deliverna me);printf( 有物资出库! n);if(fp=fopen(outstock.txt,w)=NULL)printf(Cant open file!n);exit(0);for(j=0;jOUTSTOCKNUM;j+)for(i=0;i3;i+)if(strcmp(stoci.elename,o

    18、utj.elename )=0)&(strcmp(stoci.brand,outj.brand)=0)& &(strcmp(stoci.type,outj.type)=0)k=1;if(outj.outstocknumstoci.stocknum)/else printf(n超出库存量!n按任意键继续!n);getch(); if( k=0 )printf(n库存中不存在该信息!n按任意键继续!n);getch(); fclose(fp);if(fp=fopen(stock.txt,w)=NULL)printf(Cant open !n);exit(0);fwrite(stoc,sizeof(

    19、struct stock),sum_stock,fp);fclose(fp);/-void SearchElename();void SearchBrand();void SearchDate();void SearchElenameAndBrand();void PrintStock(struct stock *p);void PrintInstock(struct instock *p);void PrintOutstock(struct outstock *p);/-void SearchMenu()/ 查询菜单int select;while(1)printf(n 欢迎使用查询功能!

    20、n);printf(*n);printf(输入1按电器名称查询n);printf(输入2按品牌名称查询n);printf(输入3按日期查询n);printf(输入4按电器名称和型号查询n);printf(输入0退出查询功能 n);printf(n 请选择查询方式 : );scanf(%d,&select);getchar();switch(select)case 1:SearchElename();break;case 2:SearchBrand();break;case 3:SearchDate();break;case 4:SearchElenameAndBrand();break;cas

    21、e 0:return;default:printf(n 错误!请重新选择! n);/-void SearchElename()/ 按照电器名称查询int i;int sum_stock=0;int boolean=0;char celename20,c=y;sum_stock=read_stock();/ 库存中家电的种类while(c=y|c=Y)boolean=0;printf(n 请输入电器名称: );scanf(%s,celename);getchar();for(i=0;isum_stock;i+)if( strcmp(stoci.elename,celename)=0 )print

    22、f(n 库存电器 %d 的信息 n,i);PrintStock(&stoci);boolean=1;printf(n 按任意键继续! n);getch();if( boolean=0 )printf( 没有电器 : %sn,celename);printf(n 继续查询其他库存信息吗? )(y/n):);c=getchar();getchar();/-void SearchBrand()/ 按照品牌名称查询int i;int sum_stock=0;int boolean=0;char cbrand20,c=y;sum_stock=read_stock();/ 库存中家电的种类while(c=

    23、y|c=Y)boolean=0;printf(n 请输入品牌名称: );scanf(%s,cbrand);for(i=0;isum_stock;i+)if( strcmp(stoci.brand,cbrand)=0 )printf(n 库存电器 %d 的信息 n,i);PrintStock(&stoci);boolean=1;printf(n 按任意键继续! n);getch();if( boolean=0 )printf( 没有电器 : %sn,cbrand);printf(n 继续查询其他库存信息吗? )(y/n):);c=getchar();getchar();/-void Search

    24、Date()/ 按照日期查询int i,j;int sum_instock=0,sum_outstock=0;int booleanin=0,booleanout=0;struct date time;sum_instock=read_instock();sum_outstock=read_outstock();printf(n 请输入日期: );scanf(%d%d%d,&time.year,&time.month,&time.day);for(i=0;isum_instock;i+)if(ini.intime.year=time.year& ini.intime.month=time.month&ini.intime.day=time.day)PrintInstock(&ini);booleanin+;for(j=0;jOUTSTOCKNUM;j+)if(outj.outtime.year=


    注意事项

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

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




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开