C++课程设计 物品库存管理

更新时间:2023-10-16 23:13:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

课程设计报告

我选的课程设计题是第5章的第二题,物品库存管理,对于此题,要求并不是很高,主要功能是进行物品的存放管理,要对其进行各项操作,首先要定义数据结构,本来想采用链表的形式,这样文件读写相对而言显得简单一点,在程序开始运行时读取固定文件中的数据,程序运行时全部数据在内存中操作,但是由于考虑到这样做会对书本提供的关键源代码做很大的修改,源代码就用不上了,所以还是最终没有选择链表的形。

为了实现各项功能,我定义了四个类,分别为:Brand品牌类,完成有关品牌的各项数

据的输入输出功能;Item项目类,完成具体物品输入输出功能;Trade交易类,完成和客户交易时的物品数据的输入输出功能;Guest类,完成客户数据的输出输入处理功能。同时将相关数据定义为private,有助于数据的保护,提高其安全可靠性。

对于原来的源程序,我主要增加了更为详细的菜单选择条,使用户使用起来更为方便,

同时考虑到现在语言的不同,我又增加了一个开始时的语言选择项,有中文和英文两种语言可以供拥护选择,更为方便,我主要是通过设置一个lgwg变量,其值有1和2两个,在每次用户选择时都增加一条选择语句,若用户一开始选择的是1,则分别进入1代表的英语选择菜单,否则进入2代表的中文选择菜单,同时还在选择时增加了智能识别程序,避免了因输入类型不一致而出现的死循环。

在这次课程设计中,我又联想到了电脑开机时有一个输入密码的步骤,只有输入正确的

密码后用户才有权限去操作,又想到这是物品的库存管理系统,不是任何人都能进行操作的,因此也增加了密码输入功能,只有管理员才能进行操作,一开始默认的密码是87654321,当用户输入正确进入后可以进行修改密码的操作,设置一个8位的属于自己的密码,当然,这里也有漏洞,就是密码的位数,我是用一个循环语句来实现密码的操作的,

设置了一个字符数组,但是问题也正是出在这数组上,数组的长度不知该怎么处理,若太长,当用户输入的密码没有全部填满时,后面空出的会在存储时出现一段乱码,那么在用户再次输入密码时有可能会明明是输入对的,可是系统提示输入的是错误的密码,为了解决这个问题,我上网搜了一下,没有找到简便的解决办法,最后也就只能用自己的土方法,规定密码的位数为8位,要求用户一定要输入8位的密码,但这样还是不怎么好,失去了程序的智能化,太死板了。

同时我还增加了一个客户管理的功能,用两个类来完成,分别为Guest类和Trade类,

此功能相当于一个通讯录,可以输入与自己交易过的用户的联系方式,交易量,还有具体的

1

交易品牌的信息,其数据最终存放在名为TGS的文本文档中。

同时经过这次的课程设计,我最大的感想就是自己知道得太少太少了,有些自己想增加

的功能,却想不出怎么用C++语言来处理,例如在处理由于输入类型不同而造成死循环的问题上,要不是看了书,感觉自己还真是做不出来,总结一点,就是编程实践太少,经验不足,在这方面以后要多看编程的实例,以此来增加自己的阅历,也就增加自己的经验。同时经过这一次的实践,也让我充分感受到了什么是编程,对C++也有了进一步的理解,虽然这次的课程设计没有什么技术含量,但是对于我这么一个初学者来说,还是比较具有挑战性的,要编写一个程序,经过这次的实践后,我认为最关键的是要分析,有哪些功能要实现,实现这些功能分别要使用哪些函数,同时还要分析使用函数是对哪个对象使用的,自然而然的也就可以确定要定义多少个类了,同时将相应的函数和数据成员封装到相应的类中,对各个类的功能都清楚了,那么程序也就基本上完成了。这是我做这次课程设计的最大的感想。

对于这次做的课程设计,感觉效率不高,冗余的太多了,太复杂,效率不高,占用内存

空间很大,显然离编程的目标还很远,但经过一次实践后,遇到了很多问题,对于一些解决不了的问题,我也充分运用了网络的功能,通过网上搜索,查到了一些函数的作用,和如何运用一些模块来完成相应的功能。

大致流程图如下: Main( ) //函数从主函数开始 Secret( ) //密码验证程序 Welcome() //进入菜单选择界面,进行选择功能 1,tis( ) 2, tgs( ) 3, ies( ) 4, welcome( ) 5,gaimima( )

//物品库存管理 //客户管理 // 进出货统计程序 // 语言选择 //修改密码

2

对于物品库存管理程序,在调用tis( )函数后,又通过调用Item 类的add( )成员函数完

成添加物品功能,即物品的进口功能,调用Item 类的showab ( )成员函数完成显示所有数据功能,调用search( )成员函数完成搜索功能,调用remove ( )成员函数完成删除功能,实际上是完成货物的出口,即货物出口就相当于把其从库存管理中删去,最后调用welcome()函数完成返回功能,使程序能够循环使用。最后的数据都保存在名为TIS的文本文档中。

对于客户管理程序,使用同样的思想,只不过调用的成员函数的所属的类不同而已,这里调用的是Guest类的成员函数,最后数据都保存在TGS的文本文档中。

同样的思想,对于进出货统计程序中调用的是IE类中的相应的成员函数,对于语言选择则通过调用welcome( )函数退回到选择项完成相应的操作。

顾浩 07102001班 学号:0710200117 2008-9-23

3

本文来源:https://www.bwwdw.com/article/3n2f.html

Top