数据结构课程设计-进销存货物管理系统(共22页).doc
《数据结构课程设计-进销存货物管理系统(共22页).doc》由会员分享,可在线阅读,更多相关《数据结构课程设计-进销存货物管理系统(共22页).doc(22页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上 数据结构与算法课程设计说明书题 目: 进销存货物管理系统 学 院: 计算机科学与工程学院 专 业: 姓 名: 学 号: 指导教师: 张瑞霞 2014年 10 月 11 日目 录7012专心-专注-专业引言 随着计算机技术的发展,经济大环境的变化使得规模经济的优势不再突出。固定的硬设备、人员数量、大量资金等资源投入占企业效益的比重变少,而软投入如管理、人力资源价值、服务、品牌附加值、渠道等要素资源的投入却能增加企业的效益。“速度冲击规模”的速度经济概念已经向企业提出,计算机技术已经渗透到各个领域,成为各个行业必不可少的工具,特别是internet技术的推广和信息高速公
2、路的建立,使IT产业在市场竞争中越发显示独特的优势,步入信息化的时代,有巨大的数据信息等待加工处理和传输,这使得对数据的进一步开发和利用显得尤为迫切。仓库作为一总货品资源的集散地,货品的种类繁多,包含很多的信息数据管理。据调查得知,以前仓库进行信息管理的方式主要是基于文本、表格等纸介质的手工处理,对于货品的出入库情况的统计和核实等往往采用对账本的的人工检查,对管理者的管理权限的不受约束,任何人都可以查看,引起资料外泄。另外,数据信息处理工作量大,容易出错,不宜查找。而且,一般储存情况是记录在账本上的,仓库货物管理人员也只是当时记得比较清楚,时间长了进行查询会造成费事、费时、费力,如对很长时间的
3、货物以及大量货物进行管理就更加困难了。因此我们很有必要建立一个仓库进销存货物管理系统,使货物管理工作更加规范化、系统化、程序化,提高信息处理的速度和准确性。1 系统概述 进销存货物管理系统主要运用了数据结构中线性表的链式存储,链式存储空间的可扩展性大,将链表中的数据以文件的形式保存,程序功能包括初始化、创建表、插入、删除和查找等,以最少的内存使用和最高的效率为原则,实现客户的需求。进入主菜单,选择相应的功能按照提示即可进入相应的操作。本系统的主要功能如下:(1)用户自行注册登录,保证仓库货物信息的保密性。(2)仓库各种货物信息的输入,主要包括货物标号、名称、产地、入库价格、入库 时间、现存货物
4、数量、已经销售数量、平均销售价格等。(3)仓库各种货物信息的查询、修改和维护。(4)对仓库中损坏货物信息的删除。(5)仓库货物信息列表的生成显示。(6)实现货物信息对文本中的保存。2 需求分析2.1 系统需求为了能够提高内存的利用及各功能的实现,程序主要使用了:(1)线性表的链式存储,分配存储空间,空间可扩展性强,方便频繁的录入、插入、查找、删除和排序等而不占用多余的内存。(主要应用)(2)文件文本的读取与写入,为了方便用户更加快速的执行管理操作。(3)结构体的定义,定义了货物结构体。(4)登录用户时的字符串读取及验证。进销存货物管理系统主要实现以下函数模块功能:(1)录入货物信息函数 Lin
5、kList CreateList(void) /运用链式存储 货物信息写入文件的函数 void file_write(ListNode *p) 文件中的信息读出的函数 LinkList file_read()(2)查找货物函数 vvoid FindNode()(3)修改信息函数 void ModNode()(4)插入货物函数 void InsertNode()(5)删除货物函数 void DelNode()(6)货物信息排序函数 void goodsrank() (7)统计货物信息函数 void goods_count()(8) 密码登陆系统函数 void apply();int load()
6、;void key() 系统能够实现初始化、创建表、插入、删除和查找等功能,使得货物管理更加规范化、系统化、程序化,方便货物管理员对仓库进行科学高效管理。2.2 开发环境 系统主要在Microsoft Visual C+ 6.0的环境下开发。,简称VC或者VC6.0,是推出的一款C+编译器,将“高级语言”翻译为“机器语言(低级语言)”的程序。是一个功能强大的可视化。自1993年Microsoft公司推出Visual C+1.0后,随着其新版本的不断问世,Visual C+已成为专业程序员进行软件开发的首选工具。虽然推出了Visual C+.NET(Visual C+7.0),但它的应用的很大的
7、局限性,只适用于Windows 2000、Windows XP和Windows NT4.0。所以实际中,更多的是以Visual C+6.0为平台。Visual C+6.0不仅是一个C+ ,而且是一个基于Windows的可视化(integrated development environment,)。Visual C+6.0由许多组件组成,包括、调试器以及程序向导AppWizard、类向导Class Wizard等开发工具。 3 详细设计3.1 设计框架 图 3.1:设计框架图3.2 程序主要流程图 图 3.2:程序主要流程图3.3 主要函数设计3.3.1 登陆函数启动系统,进入界面,会有两个选
8、项:1、 新用户注册2、 新用户登陆新用户注册: 执行此函数,程序会在工程目录下自动生成一个key.txt文件,用于保存新用户申请的账号和密码。void apply() /新用户注册int i,flag=1;FILE *fp;char name20,key20;flushall();printf(n*新用户注册*n);printf(ttt用户名(不能为空):);scanf(%s,name);flushall();printf(ttt密码(不能为空):);for(i=0;i=20;i+) keyi=getch();if(keyi=13)keyi=0;break;printf(*);fp=fope
9、n(key.txt,w);if(fp=NULL)printf(the file can not open!);flag=0;exit(1);fprintf(fp,%s %s,name,key);fclose(fp);新用户登陆: 函数通过读取key.txt文件获取新用户之前申请的账号和密码,以验证输入是否正确,从而是否允许用户进入系统。int load() /用户登录FILE *fp;int i;char name20,key20;char name120,key120;fp=fopen(key.txt,r);fscanf(fp,%s %s,name,key); fclose(fp);prin
10、tf(n*新用户登陆*n); printf(ttt用户名(不能为空):); scanf(%s,name1);flushall();printf(ttt密码(不能为空):); for(i=0;idata.NO);/输入货物标号scanf(%s,p-data.name);/输入货物名称scanf(%s,p-data.area);/输入货物产地scanf(%f,&p-data.price);/输入货物入库价格scanf(%s,p-data.time);/输入货物入库时间scanf(%d,&p-data.number1);/输入货物入库数量scanf(%d,&p-data.number2);/输入货物
11、已经销售数量scanf(%f,&p-data.sellprice);/输入货物销售价格rear-next=p; /新结点连接到尾结点之后rear=p; /尾指针指向新结点rear-next=NULL; /终端结点指针置空file_write(head);/ 保存输入的货物信息建立货物信息界面:图 3.5:建立货物信息界面(1)图 3.5:建立货物信息界面(2)3.3.4 货物信息的插入 本系统设置了货物一共有八个属性,分别是货物的标号、货物名称、货物产地、入库价格、入库时间、现存货物数量、已经销售货物数量、销售平均单价。在进行货物信息的插入时应该按照上面的顺序依次插入,插入的位置也可以自由选择
12、。插入完成后系统会提醒文件需要保存的位置。 在进行货物信息的插入前,系统会提示用户输入插入点。根据以下函数可以找到相应的插入点while(p2&knext;k=k+1; i为货物插入的点。p1=(ListNode*)malloc(sizeof(ListNode);节点申请成功后输入货物的信息,p1节点将保存货物的信息。p1-next=p2-next;p2-next=p1;/将新节点插入货物信息插入的界面: 图 3.6:货物信息插入的界面(1)图 3.6:货物信息插入的界面(2)3.3.5 货物信息的查询查找货物是信息管理的基本功能,当数据很多时怎么快速找到货物对管理员来说很重要,系统调用查找函
13、数模块,显示查找菜单。根据提示输入需要查找的“货物标号”或者“货物名称”进行查找,查找成功,用户会看到查找货物的详细信息,如没有该货物,则查找失败,查找的主要函数设计:p=p0=file_read();/读取文件p=p-next;scanf(%s,&pp);/输入查找的方式,a为按照货物的标号查找,b为按照货物的名称查找,设计两种方式查找货物的信息,更利于管理员对货物进行管理getchar(); if (pp=a|pp=A) printf(请输入要查找的货物标号:);scanf(%s,&num);while (p&strcmp(p-data.NO,num)!=0)p=p-next;else /
14、按照货物的名称查找if (pp=b|pp=B) printf( 请输入要查找的货物名称:);scanf(%s,&name);while(p&strcmp(p-data.name,name)!=0)p=p-next; 以上函数是找到货物的储存位置,而找到货物之后将货物打印出来,用户就可以看到所要查找的货物的相应信息了。 货物查询的界面:图 3.7:货物查询的界面3.3.6 货物信息的删除 删除是一项对数据管理的功能,将过期的货物信息删除,以免影响仓库管理,删除函数的原理和查找函数原理一样,只是在输入“货物标号”找到对应的货物后删除该结点,就会删除该货物的所有详细信息,并提示用户保存! p0=fi
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 课程设计 进销存 货物 管理 系统 22
限制150内