数据结构课程设计—进销存货物管理系统论文.doc
《数据结构课程设计—进销存货物管理系统论文.doc》由会员分享,可在线阅读,更多相关《数据结构课程设计—进销存货物管理系统论文.doc(22页珍藏版)》请在咨信网上搜索。
1、桂林电子科技大学课程设计(论文)说明书用纸 课程设计(论文)说明书题 目: 进销存货物管理系统 学 院: 计算机与信息安全学院 专 业: 物联网工程 姓 名: 张小婷 学 号: 1400370206 指导教师: 王代君 2106年 9 月 30 日摘 要本论文主要描述了 “进销存货物管理系统”的设计与实现。此系统是运用数据结构的相关知识来实现的,采用C+编程语言进行编写。系统界面简洁美观,系统包含商品的进货、销售、退货以及商品管理等模块功能,可以使人们方便、快速、有效地管理商品的信息。论文首先对此系统进行简单的阐述,然后对系统需求进行详细的分析,接着对系统中所有的设计简单清晰的展现出来,并把设
2、计中遇到的问题以及解决方法一一作分析,还对系统特色和关键技术进行详细解说,最后对此设计的总结以及收获与经验的分享。关键字:数据结构;C+;进货;销售;退货;管理系统; 目 录引言11 系统概述22 需求分析22.1 系统需求22.2 开发环境33 详细设计33.1 设计框架33.1 主要函数设计43.1.1主函数43.1.3商品管理函数53.1.4进货函数63.1.5销售货物函数63.1.6 退货函数73.1.7查找函数83.1.8修改函数83.1.9插入函数93.1.10删除函数93.1.11排序函数103.1.12统计函数103.1.13查看所有商品函数:113.1.14查看销售记录函数1
3、14 所遇到的问题和分析解决124.1文件存储问题124.2 删除问题134.3 退货问题135 系统特色及关键技术145.1 系统特色145.2 关键技术156 总结16参考文献17桂林电子科技大学课程设计(论文)说明书用纸 第 19 页 引言随着计算机技术以及信息产业的飞速发展,经济大环境的变化使得规模经营的优势不再突出。固定的硬设备、人员的数量、大量资金等资源投入占企业效益的比重变少,而软投入如管理、人力资源价值、服务、品牌附加值等要素资源的投入却能增加企业的效益。“速度冲击规模”的速度经济观念已向企业提出,计算机技术已经渗透到各个领域,成为各个行业必不可少的工具,特别是internet
4、计算推广和信息高速公路的建立,使IT产业在市场竞争中越发显示独特的优势。仓库作为总货品资源的集散地,货品的种类繁多,包含很多的信息数据管理。据调查得知,以前的仓库进行信息管理的方式主要是基于文本、表格等资质的手工处理,对于货品的出入库情况的统计和核实往往采用对账本的人工检查,对管理者的管理权限不受约束,任何人都可以查看,引起资料外泄。另外数据信息处理工作量大,容易出错,不宜查找,而且,记录在账本上的信息,时间长了进行查询会造成费时、费力,若对很长时间的货物以及大量货物管理就更加困难。二十一世纪是信息时代,信息管理已经引入并应用到各行业管理领域,各种形式的百货商场、大型仓储超市、便利店、连锁超市
5、等形式的零售、批发业鳞次栉比,不断改变、影响着人们的价值观和生活方式。要提升企业的竞争力,就要大力推进企业信息化的建设,利用先进的办公自动化系统来实现企业内部信息管理、共享及交流。才能使企业在竞争激烈的21世纪取得先机。本课程设计主要解决一个小型仓库中,商品从进货、存储到销售、退货以及商品的各种管理的进销存信息管理系统。使货物管理工作更加规范化、系统化,提高信息处理的速度和准确性。1 系统概述 进销存货物管理系统主要运用数据结构中线性表的链式存储,将链表中的数据以文本的形式保存,程序功能包括创建表、插入、删除、修改、统计查找等。进入主菜单,选择相应的功能按照提示即可进入相应的操作。 本系统的主
6、要功能如下:(1) 各种商品信息的输入,即进货功能,主要包括商品编号、商品名称、产地、入库价格等。(2) 各种商品信息的查询、修改和维护。(3) 对过期或损坏的商品进行删除。(4) 进行货物的销售以及退货操作。(5) 查看仓库中所有商品信息和查看所有销售记录,以及查看某种商品的销售记录。(6) 统计现存商品种数,每种商品的盈利亏损情况,以及统计总盈利等。(7) 按照各种情况排序,如按编号、入库价格、现存数量、销售数量、平均售价排序等。(8) 实现货物信息以及销售信息对文本中的保存。2 需求分析2.1 系统需求为了提高内存的利用率及各功能的实现,程序主要使用了如下内容:(1) 线性表的链式存储,
7、分配存储空间,空间可扩展性强,方便信息的录入、查询、修改、删除、排序等功能。(2) 文件文本的读取和写入,以及文件文本的重写,方便用户执行操作。(3) 定义商品的和销售商品两个结构体,区分销售模块与其他模块,减少编写程序时的混淆。 进销存货物管理系统主要实现以下函数模块功能:(1) 进货函数 linklist creat_good()/运用链式存储商品信息写入文件函数 linklist file_write(node *p1) 读取文件信息函数 linklist file_read()(2) 查找商品函数 int find_good()(3) 查看所有商品函数int all_good()(4)
8、 修改商品信息函数 linklist xiugai_good()商品信息重新写入文件函数 linklist file_write1(node *p1)(5) 删除函数 linklist delete_good()(6) 插入函数linklist insert_good()(7) 排序函数 linklist sort_good()(8) 统计函数 int tongji_good()(9) 销售函数linklist sale_good()售出商品信息存入文本文件函数salelist Sale_out(snode *p1)售出商品文本文件读取函数salelist read_sale()(10) 查看
9、销售情况函数salelist visit()(11) 退货函数 int return_good()售出商品信息重写入文本文件函数 salelist Sale_out1(snode *p1)(12) 商品管理函数 int admin()(13) 主页面函数 int zhuyemian()(14) 主函数 int main() 这些函数功能使货物管理更加规范化、系统化、程序化,页面简洁美化,方便管理员对仓库进行科学管理。2.2 开发环境此系统主要在code:blocks 13.12 C+的环境下开发。Code:Blocks 是一个开放源码的全功能的跨平台C/C+集成开发环境。Code:Blocks
10、是开放源码软件。Code:Blocks由纯粹的C+语言开发完成,它使用了著名的图形界面库wxWidgets(2.6.2 unicode)版。Code:Blocks优点有很多方面,比如编译时,有错误的地方它会帮你自动跳转到错误行,关键字输入一半就可以显示出来等,它可以减少很多不必要的麻烦。而且对于追求完美的C+程序员,再也不必忍受Eclipse的缓慢,再也不必忍受VS.NET的庞大和高昂的价格。C+是在C语言的基础上开发的一种面向对象编程语言,属于编译型语言,应用广泛,C+支持多种编程范式面向对象、泛型编程和过程化编程,C+编程领域众广,常用于系统开发,引擎开发等应用领域等。3 详细设计3.1
11、设计框架该系统从整体结构看,主要分为四大模块:进货模块、销售模块、管理模块、退货模块。管理模块下又有几个小模块,小模块下又有小模块,这样把各模块细化,目的是使系统结构清晰、功能齐全,让用户更加方便的使用系统。系统各个模块之间相对独立,使用其一个中模块之后,只有返回上一级才能使用另外的模块。设计框架如下图:(图2.1设计框架)3.1 主要函数设计3.1.1主函数启动系统,进入界面,会动态输出“欢迎进入进销存货物管理系统”这些字样。然后弹出“按任意键进入主页面”,此时按下任意键便可进入主页面。动态输出主要运用延时程序Sleep(50),每输出一个字就用一次Sleep(50),便可动态输出。3.1.
12、2主页面函数主页面函数包括有如下选项:1-货物管理2-进货3-销售货物4-退货0-退出系统这几个选项,用户需要进行哪些操作便可一目了然。用户选择04就可以进入相应的页面,当然要是输入不是这一范围,便有提示输入错误,让用户重新输入。截图如下:(图2.2主页面)3.1.3商品管理函数在主页面中选择“1”时,便进入商品管理页面,此页面有十个选项分别是:1-查找商品信息2-修改商品信息3-插入商品信息4-删除商品信息5-排序商品信息6-统计商品信息7-查看所有商品信息8-查看商品销售信息9-返回上一级0-退出系统。用户可以直接明了的清楚此模块的功能。选择其中的选项会执行相应的函数,截图如下: (图2.
13、3商品管理页面)3.1.4进货函数进货函数是整个系统的关键,这里的“进货”其实就是数据的建立,此系统运用链表来建立货物信息,利用尾插法带头结点的货物信息链表。用户进入到“进货”页面时,会有提示需要输入的内容,并且提示时间的年月日用空格隔开,编号为0时结束进货。在此页面中,用户需要输入货物的编号、货物名称、产地、入库价格、保质期、进货数量,这几个信息,因为新进货,所以销售数量和平均售价都设置为“0”,入库时间则用获取系统时间的方法使其自动生成。当输入的货物编号为“0”时,按回车键,便结束“进货”,然后提示“是否保存?”选择“1”时便进货成功,货物的相应信息便存入文本文件,而要是选择“0”时便进货
14、失败,不对文本文件进行编写。接着提示“按任意键返回上一级”,按下任意键后,就会返回到主页面。3.1.5销售货物函数 用户进入此页面时,系统需要读取商品信息的文本文件,然后系统会显示仓库中现存商品的必要信息,即:货物编号、名称、产地、入库价格、保质期、销售数量、现存数量、平均售价等信息。然后提示输入销售的商品编号,输如相应的编号后,系统会判断商品是否过期(保质期和系统时间进行对比,保质期时间小于系统时间,便是过期商品),若是过期商品,就有提示“此商品已过期!是否销售?是-1,否-0:”,按下“0”时就取消销售,按下“1”时,提示输入销售的数量,当输入的数量大于现存数量,提示“此货物数量不足。重新
15、输入数量按1,结束按0。” 按下“0”时就取消此商品的销售,接着提示“结束销售按0,继续销售按1:”,若按下“1”又可以销售其他商品,如此循环着,直到结束销售按0为止。当输入的数量小于等于现存数量时,便有提示输入销售的价格,输入完后,销售的信息便存入销售的文本文件中(尾插法带头结点的销售的货物信息链表),销售的时间,便是系统当时的时间,接着提示销售成功,然后显示此次销售共得的人名币。接着提示“结束销售按0,继续销售按1:”此信息。当输入的货物编号与显示的所有货物信息的货物编号没有相对应时,系统便提示“此商品不存在! 结束销售按0,继续销售按1:”,然后就和以上情况相同。当结束销售时,系统就对商
16、品信息文本文件进行重写,换一种说法就是:对销售掉的货物的销售数量、现存数量、平均售价,进行修改,为保存的信息与实际信息相同,系统就需要进行相应的运算,即:某商品的销售数量为此次销售此商品的总数量加上之前的销售数量。现存数量为,当前的现存数量减去此次销售此商品的总数量。而平均售价为,修改前的销售数量乘上修改前的平均售价加上每次销售时的销售数量乘上每次销售的价格,再除于总的销售数量。然后,系统将会提示按任意键返回上一级。按下任意键,便返回到主页面。相应截图如下:(图2.4销售页面)3.1.6 退货函数退货模块是整个系统的最难点,因为一种商品有不同的消费者购买,所以就有多条销售记录,销售的时间不同,
17、售出的价格也有可能不同(比如节假日打折等,比平时价格少),退货时,就需要退掉购买的相应记录,才能准确的退货。因此,在显示销售记录,让用户选择退货时,就有必要给每条销售记录记上编号,以便准确退掉货物。每退掉一次,便刷新销售信息,如再次退货,则显示执行过退货的销售信息。货物退掉之后,还需要对商品信息文本和销售文本进行重写,重写方式差不多同理于上文的销售商品使对商品信息文本的重写。有区别地方在于,当商品信息文本中已经不存在将要被退货的商品时(信息已被删除),就需要在商品信息文本的后面加上此商品的信息(尾插法插入此商品),而当退货的商品件数等于销售的商品件数时,就需要在销售的文本文件中把相应的销售记录
18、给删除掉。用户进入退货页面时,系统需要读取销售信息的文本文件,如果没有销售记录,就会提示“没有销售记录!”,再让用户输入任意键返回主页面。如果有销售记录,就会显示销售的所有记录,并且给每条记录标上编号。然后提示“请输入选择退货的序号”,用户输入相应序号后,接着提示输入退掉的个数,如果退掉的个数大于销售的个数,系统就会提示“输入的个数大于销售的商品个数,不合理,请重新输入!”,直到输入个数小于等于销售个数时。如果等于销售数量,就需要把销售的文本文件中此条销售信息给删除,小于就不需要删除,只进行修改。完成输入后,系统便读取商品的文本文件,从而判断文件中是否存在被退货的商品,如果不存在,就在商品信息
19、的文本文件后面加上此商品信息,如果存在,只进行修改。每次退货,都显示退掉多少的人民币,然后对销售的文本文件进行修改。接着提示“继续退货按1,结束退货按0!”按下“1”,则再次选择退货,按下“0”,则结束退货。结束退货后,便对商品的文本文件进行重写。然后提示“按任意键返回上一级!”,按下任意键,返回到主页面。相应截图如下:(图2.5退货页面)3.1.7查找函数 用户进入查找页面时,系统会读取商品文本文件,然后提示“输入查找的商品编号”,如果此商品存在,便输出此商品的信息,要是不存在,则提示“此商品不存在!”。然后提示“结束查找按0,继续查找按1”,按下“1”则继续查找,按下“0”,则提示“按任意
20、键返回上一级!”按下任意键后,便返回到商品管理页面。3.1.8修改函数用户进入此页面时,系统会读取商品文本文件,然后输出仓库现存所有商品的信息。然后提示“输入修改的商品编号”,如果输入的编号与现存商品编号有对应,则显示此商品的所有信息。接着有如下提示:1:货物编号2:货物名称3:货物产地4:入库价格5:销售数量6:现存数量7:平均销售价格8:保质期输入修改的类型18:选择修改类型的序号后,系统将会提示输入修改后的内容(货物编号/货物名称/货物产地等)。修改后便显示出修改后的商品所有信息。接着提示“重新修改按1,结束修改按0;”按下“1”,则再次修改,按下“0”则结束修改。如果输入的编号与现存商
21、品编号没有对应,则提示“次商品号不存在,修改失败”。接着提示“重新修改按1,结束修改按0;”按下“1”,则再次修改,按下“0”则结束修改。结束修改后,系统会提示“是否保存?是-按1;否-按0。”,按下“1”则对商品文本文件进行重写,保存所有的修改,按下“0”,则不会对本次修改保存。然后提示“按任意键返回上一级!”按下任意键后,便返回到商品管理页面。3.1.9插入函数用户进入此页面时,系统会读取商品文本文件,然后提示“输入插入的位置”,如果插入位置小于等于商品总的种类数时,系统会提示输入商品的信息,即“货物编号 货物名称 货物产地 入库价格 保质期 销售数量 现存数量 平均售价”,按回车,就提示
22、“插入成功!”,此时便成功插入,接着提示“继续插入按1,结束插入按0。”按下“1”,再次插入商品,按下“0”,结束插入。如果插入位置大于商品总的种类数时,便提示“插入位置不合理。” 接着提示“继续插入按1,结束插入按0。”按下“1”,再次插入商品,按下“0”,结束插入。结束插入时,系统将提示“按任意键返回上一级!”按下任意键后,便返回到商品管理页面。3.1.10删除函数用户进入此页面时,系统会读取商品文本文件,然后显示如下选项: 1:删除过期商品。 2: 删除某编号的商品。当用户选择1时,系统会将所有的商品的保质期与系统的时间进行比较,要是有比系统时间小的商品保质期,则输出此商品,直到输出所有
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 课程设计 进销存 货物 管理 系统 论文
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。