ImageVerifierCode 换一换
格式:DOCX , 页数:50 ,大小:254.87KB ,
资源ID:24369858      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/24369858.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(仓库信息管理C语言程序说明书.docx)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

仓库信息管理C语言程序说明书.docx

1、仓库信息管理C语言程序说明书1 引言自1972年推出C语言设计程序以来,C语言渐渐成为世界上流行最为广泛的高级设计语言,并在C语言的基础上产生了C+、VisualC+、Java、C#等。C语言是目前编程领域中最有影响力的一种程序设计语言,它具有灵活性、丰富性、可移植性的优点。C语言技术使人们的工作系统化,工作效率提高,并且实现了资源的共享。1一个庞大的仓库商品信息,人工处理起来非常吃力、费时。以往的仓库管理基本上都是靠手工进行,随着仓库的规模增大,有关商品管理工作所涉及的数据量越来越大,单纯依靠增加人力、物力来进行商品管理已经脱离时代发展的轨道。由于现今的仓库管理非常繁琐,管理人员付出大量的工

2、作时间,得到的效率很低,有时甚至会延误商品的保质期,造成很大的经济损失。因此为提高工作效率,减轻工作负担,开发仓库管理系统软件非常必要。建立仓库信息管理系统,在C语言的平台下,可以方便记录商品详细信息的记录和查找等管理,提高工作效率,实现仓库商品信息管理工作流程的系统化、规范化和自动化。2这次课程设计的仓库管理系统采用结构体的方式,完成了对数据的录入、查找、删除、插入、修改、保存、输出等功能。通过完成本课题进一步熟悉C语言基本知识,并掌握数据结构的一些重要的实用的算法思想,进一步熟悉数组的建立运用和函数调用,加深对数据结构的理解,提高算法设计的能力,锻炼编程的能力。2 需求分析仓库信息管理系统

3、主要对仓库的各项商品信息管理进行在计算机上的信息存储和处理,从而简化信息管理工作量。仓库信息管理系统的需求分析主要确定系统的主要功能,对系统进行概要描述,分析系统运行时所需的软、硬件环境,并对系统的各个主要功能进行需求描述,目的时使软件在设计过程中尽量符合客户的需要。32.1系统概述根据仓库商品管理的需要,要建立一个仓库商品信息管理系统软件,实现仓库信息管理的基本操作:数据录入、数据查询、数据修改、数据输出,以方便对成绩的各项管理操作。系统的各个功能模块都用函数的形式来实现,可以将仓库信息保存在文件中,并从文件中读取出来。系统基本信息包含商品编号、商品名称、生产厂家、入库时间、入库数量、现存数

4、量、备注等。修改数据指可以对指定数据进行修改并在修改前后对数据内容进行显示;查找数据指可以对要求的任意数据进行查找并显示查找结果;插入数据指在指定位置插入一条完整的信息;数据排序指按照信息的某个字段进行升序或降序排序,并显示排序结果。程序具有数据录入、删除、修改、显示、插入、查找、排序以及数据保存等功能。2.2问题分析实际上要完成的是一个简单数据库管理信息系统的设计,同时要掌握数据结构方面的知识。要求程序结构合理、算法准确、语法正确,并生成可执行文件。2.3功能需求描述仓库商品管理系统软件提供对商品信息的管理功能和顾客登录、管理等安全验证功能,并提供一个友好的操作界面,功能需求描述如下。(1)

5、 密码验证根据输入的密码判断是否允许使用本系统。(2) 菜单进入菜单系统界面后,对系统提供的功能用列表的方式清晰的显示出来,并能正确接受输入。(3) 录入仓库初始记录可按顺序将商品名称、商品编号、生产厂家、入库时间、入库数量、现存数量、备注依次输入。能够一次性输入多商品的信息。系统将商品信息存储在系统磁盘的文件只能中,以便进行管理、查找和备份等。由选择结构用户选择并转相应函数。(4) 商品查询分为根据名称查询、编号查询、生产厂家查询和入库时间查询四个具体需求,分别提示查询商品按名称、编号、生产厂家或入库时间的方式,如果在磁盘文件中有对应的商品信息,则显示出对应商品的信息。(5) 修改商品记录提

6、示输入要进行修改操作的商品名称,如果在文件中有该商品的信息存在,则输出该商品信息,提示是否修改,确定后惊醒修改,并将修改结果存储于文件中。(6) 增加商品记录可在原有仓库商品信息文件的基础上增加新的商品信息记录,并继续保存于文件。(7) 显示全部记录在进入显示全部信息的界面后,输出该文件中所包含的全部商品信息。(8) 商品排序分为根据名称排序、编号排序和入库时间排序三个具体需求,分别提示商品排序按名称、编号、生产厂家或入库时间的方式,根据商品信息从小到大进行排序,并显示排序后的结果。3 系统总体设计3.1系统总体设计思路仓库商品信息管理系统要求实现许多功能,可遵循结构化程序设计思想来进行本系统

7、的设计自顶向下,逐步细化,也就是将软件设计任务划分成许多容易解决的小的子任务,即分解出许多子功能模块进行设计。本程序经过分析可划分出10个子任务:登录(密码验证)、数据输入、商品查询(包括通过商品名称查询、商品编号查询、生产厂家查询、入库时间查询)、删除商品记录、修改商品记录、增加商品信息 、显示全部记录、商品排序(包括按商品名称排序、商品编号排序、入库时间排序)、保存、恢复。3.2系统总体设计框图 图1 仓库信息管理系统框图3.3模块功能说明对本系统的功能进行分析后可作如下的模块化设计:(1) 登录模块实现功能输入密码,进行来访者身份验证。通过循环结构实现。(2) 输入模块实现功能按顺序将商

8、品名称、商品编号、生产厂家、入库时间、入库数量、现存数量、备注依次输入,由选择结构用户选择并转相应函数。(3) 查找模块实现功能在已经存储的文件中查找指定的货品信息。可以按照商品名称、商品编号、生产厂家和入库时间四种方法进行。(4) 删除模块实现功能在已经存储的文件中删除指定的货品信息,并释放内存空间。(5) 修改模块实现功能在已经存盘的文件中修改商品的信息,包括商品名称、商品编号、生产厂家、入库时间等等。(6) 插入模块实现功能向已经存盘的文件中再输入商品的信息,包括商品编号、商品名称、生产厂家等等。(7) 输出模块实现功能在进入显示全部信息的界面后,输出该文件中所包含的全部商品信息。(8)

9、 保存模块实现功能进行上述操作后,都要进行保存操作,信息以文件形式被长期保存。(9) 恢复模块实现功能进行清空操作,指定文件中的信息被清空。(10) 主菜单模块实现功能完成系统的主菜单界面处理。3.4界面设计3.4.1登录界面设计运行程序进入登录界面(密码初始化为“000000”,并提供密码屏蔽功能。重复输入三次,自动退出),密码正确后,按Enter进入仓库管理菜单。图2 进入登录界面3.4.2仓库管理菜单界面设计进入菜单界面后,选择1-10进入相应的系统各功能界面。图3 进入主菜单界面3.4.3录入仓库初始记录界面设计在菜单界面输入“1”,进行录入仓库初始记录,输入要输的商品数目,进入输入界

10、面,依次输入商品名称、商品编号、生产厂家、入库时间、入库数量、现存数量、备注。图4 录入仓库信息界面3.4.4商品查询界面设计在菜单界面输入数字“2”,进行商品查询,可根据名称查询、编号查询、生产厂家查询或入库时间查询,选择所要查询的方式,输入相应信息,则显示出对应商品的信息。图5 商品查询界面3.4.5商品记录删除界面设计在菜单界面输入数字“3”,进行商品记录删除,输入要删除商品的名称,则显示出要删除商品的信息,按“y”或“Y”确定删除。图6 商品删除界面3.4.6商品记录修改界面设计在菜单界面输入数字“4”,进行商品记录修改,输入要修改商品的名称,则显示出要修改商品的信息,按按“y”或“Y

11、”确定修改后,依次输入新的商品信息。图7 商品记录修改界面3.4.7商品信息增加界面设计在菜单界面输入数字“5”,进行商品信息增加,输入增加数目后,依次输入新增商品各项信息。图8 商品信息增加界面3.4.8显示全部记录设计界面在菜单界面输入数字“6”,显示全部商品信息记录。图9 显示界面3.4.9商品信息的排序设计界面在菜单界面输入数字“7”,进行上品新的排序,可根据名称排序、编号排序或入库时间排序,选择所要排序的方式,则显示出排序后商品的信息。图10 商品信息排序界面(按生产厂家排序)4 系统详细设计4.1数据结构仓库管理信息包括编号、名称、生产厂家、入库时间、入库数量、现存数量、备注。所以

12、将其定义为结构体。以结构体的形式保存进文件。结构体说的定义如下。(1) struct Date /*声明struct Date类型*/int mouth;int day;int year;(2) struct cangkuint num; /*商品编号*/char name20; /*商品名称*/char factor50; /*生产厂家*/char introdution50; /*备注*/int amount; /*入库数量*/int namount; /*现存数量*/struct Date rktime; /*入库时间 也是另一结构体类型的成员*/;4.2 main()主函数模块程序采用

13、模块化设计,主函数是程序的入口,各模块独立,可分块调整,均由主函数控制。采用switch分支语句编写菜单选择控制各个模块的功能,每个模块的功能由简单的基本函数构成。直接利用输出函数printf输出字符串,在屏幕上显示一个菜单,并显示一个提示输入选项,输入1 -10之间的数字,将此数字作为菜单函数的返回值返回主函数,主函数根据这个数字调用相应的功能函数,制作简便,操作简单。模块中主要部分如下。switch(Menu_select()图11 主函数操作流程图4.3 Pwd()密码验证模块本系统提供密码功能,密码初始化为“000000”,并提供密码屏蔽功能。密码验证函数的具体做法是,先接收一段字符,

14、然后看与系统预先设定的密码字符串是否相同,如果相同则返回1,不相同则重新接收一串字符,重复三次,自动返回0。模块中主要部分如下。for(pwdNum = 3;pwdNum 0;pwdNum-)for(i = 0;i 6;i+)pwdPuti=getch();printf(*);getch();4.4 Menu_select()菜单模块该函数列出了一个清晰的结构,对本程序所运用的几个模块整体上有个同意认识,方便对程序的调用,节省了时间。模块中主要部分如下。printf(n输入您想要进行的操作选项键(1-10):);if(scanf(%d,&c)!=1)while(getchar()!=n)con

15、tinue;while(c10); return c;图12 菜单函数操作流程图4.5 Import()输入模块为了输入时不出错,输入方法使用一个数据一行的方式输入,用回车确定。由于记录并不是一次性全部输入,而是随时添加和删除的,而预先开辟的空间数往往大于实际的记录数,所以程序设定全局变量n,随时记录所输入学生个数。当输入结束后,调用save()函数保存数据。模块中主要部分如下。for(i=0;in;i+)4.6 Search()商品查询模块本函数可对商品名称、商品编号、生产厂家和入库时间四个字段数据进行查找并显示查找结果,通过for循环和if选择结构选择查找的方式。图13 查询操作总流程图4

16、.6.1按商品名称模块按名称查询模块流程图如下。图14 按名称查询操作流程图按名称查询模块中主要部分如下。xuanze=getch();if(xuanze=2) /*通过物品名称查询*/for(i=0;in;i+)if(strcmp(s,ti.name)=0) /*将两个字符串进行比较*/flag=1;printf(nn要查找的商品信息如下:n);if(flag=0)printf(要查找的商品不存在!n);getchar();4.7 DeleteRecord()商品信息删除模块输入要删除商品的名称,通过查找判断,比较字符大小删除商品记录。模块中主要部分如下。if(strcmp(s,ti.nam

17、e)=0) 图15 删除商品信息操作流程图4.8 AlterRecord()商品修改模块本函数中可以修改指定商品的相关信息,通过字符比较找到相应商品,输入完毕后返回菜单界面。模块中主要部分如下。if(strcmp(s,ti.name)=0) 图16 修改商品信息操作流程图4.9 AddRecord()商品插入模块该函数插入一条商品信息,操作简单快捷。模块中主要部分如下。for(i=n;in+m;i+) 图17 插入操作流程图4.10 Sort()商品排序函数本函数可对商品名称,商品编号和生产厂家三个字段进行排序并显示结果,通过for循环和if-else if的选择结构排序。 图18 排序操作总

18、流程图4.10.1按商品名称排序按商品名称排序的流程图如下。图19 按商品名称排序操作流程图 模块中主要部分如下。xuanze=getch();if(xuanze=1) /*按商品名称排序*/int i,j;struct cangku temp;for(j=1;jn;j+)for(i=0;i0)temp=ti;ti=ti+1;ti+1=temp;printf(排序成功!n);printf(排序后仓库信息列表如下:n);List(t,n);5 总结本系统通过在main主函数中使用switch结构,把各个子函数连接起来,形成鲜明的结构;增加了密码登录模块,更有效的保护信息安全;数据的录入采用结构体

19、的形式,使数据录入、显示更加规范化;主界面通过菜单函数显示所有的功能,使界面简洁紧凑,功能一目了然,通过菜单函数的十个选项,选择不同的功能实现所要进行的操作;各个功能的设计比较严谨,使用过程方便快捷,可以更加准确快速的进行仓库信息的管理和存储;独特的系统使整个结构清晰明了;该程序设计小巧,便于使用和推广。程序简便易操作,每个函数都有各自不同的功能,使得仓库信息管理管理系统更加细致全面。我通过学习C语言程序设计,对C语言的基本概念和常用算法也有了一定的了解,平时虽然也做过一些练习,也看了不少程序从而掌握一定的语法知识和编程经验。但是对于有些功能强大的软件还是没有尝试过能否编得起来。所以决定在所学

20、知识的基础上,再加以拓展,编个主题明确、具有一定使用价值的中小程序,提高了自身的编程水平与上机调试技能。通过这一星期的实习,我得到了很大的收获。参考文献1 谭浩强,张基温C语言程序设计教程(第3版)M北京:高等教育出版社,20062 吕凤煮C语言基础教程基础理论与案例M北京:清华大学出版社,20053 黄明,梁旭,万洪莉C语言课程设计M北京:电子工业出版社,2006附录仓库管理程序设计清单#include#include#include#includestruct Date/*声明struct Date类型*/int mouth;int day;int year;struct cangkuin

21、t num;/*商品编号*/char name20;/*商品名称*/char factor50;/*生产厂家*/char introdution50;/*备注*/int amount;/*入库数量*/int namount;/*现存数量*/struct Date rktime;/*入库时间 也是另一结构体类型的成员*/;typedef struct cangku Storehouse;/*定义结构体数组*/int Import(Storehouse t);/*声明将要使用的函数*/void List(Storehouse t,int n);void Search(Storehouse t,in

22、t n);int DeleteRecord(Storehouse t,int n);int AlterRecord(Storehouse t,int n);int AddRecord(Storehouse t,int n);void Sort(Storehouse t,int n);void SaveRecord(Storehouse t,int n);int LoadRecord(Storehouse t);int LoadRecord1(Storehouse t);void Save(Storehouse t,int n);void Load(Storehouse t,int n);voi

23、d Load1(Storehouse t);int Menu_select();void tuichu();int Pwd();void main()Pwd();Storehouse ck50;int length,w=1;while(w)/*用户选择并转相应函数*/switch(Menu_select()case 1:length=Import(ck);SaveRecord(ck,length);break;case 2:length=LoadRecord(ck);Search(ck,length);break;case 3:length=LoadRecord(ck);length=Dele

24、teRecord(ck,length);SaveRecord(ck,length);break;case 4:length=LoadRecord(ck);length=AlterRecord(ck,length);SaveRecord(ck,length);break;case 5:length=LoadRecord(ck);length=AddRecord(ck,length);SaveRecord(ck,length);break;case 6:length=LoadRecord(ck);system(cls);List(ck,length);break;case 7:length=Loa

25、dRecord(ck);system(cls);Sort(ck,length);SaveRecord(ck,length); break;case 8:length=LoadRecord(ck);system(cls);Save(ck,length);break;case 9:length=LoadRecord1(ck);Load1(ck);system(cls);Load(ck,length);break;case 10:tuichu();int Pwd()/*密码验证函数*/int i;char pwdPut7 = 0;system(cls);/*运行前清屏*/int pwdNum = 3

26、;for(pwdNum = 3;pwdNum 0;pwdNum-)if(pwdNum = 0)return(0);printf(n请输入口令(你还有%d次机会):,pwdNum);for(i = 0;i 6;i+)pwdPuti=getch();printf(*);getch();if(!strcmp(pwdPut,000000)return(1);exit(1);int Menu_select()/*菜单函数*/int c;printf(按Enter键进入仓库管理菜单n);getchar();system(cls);system(mode con cols=80 lines=25&color

27、 17);/*改变背景及文字颜色*/printf(nn);printf( 欢迎进入仓库管理 );printf( );printf( 1.录入仓库初始记录 2.商品查询 );printf( );printf( 3.删除商品记录 4.修改商品记录 );printf( );printf( 5.增加商品信息 6.显示全部记录 );printf( );printf( 7.商品排序 8.备份 );printf( );printf( 9.恢复 10.退出 );printf( );printf( );printf( );printf( );printf( 田田田 );printf( );printf( );d

28、oprintf(n输入您想要进行的操作选项键(1-10):);if(scanf(%d,&c)!=1)while(getchar()!=n)continue;while(c10);return c;int Import(Storehouse t)/*数据输入*/int i,n;system(cls);printf(n请输入要输入的商品数目:n);scanf(%d,&n);printf(开始输入仓库信息:n);for(i=0;in;i+)system(cls);printf(n第%d个商品的编号:,i+1);scanf(%d,&ti.num);printf(第%d个商品的名称:,i+1);scanf(%s,&ti.name);printf(第%d个生产厂家:,i+1);scanf(%s,&ti.factor);printf(第%d个商品的入库时间:,i+1);scanf(%d-%d-%d,&ti.rktime.mouth,&ti.rktime.day,&ti.rktime.year);printf(第%d个商品的入库数量:,i+

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1