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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

商品库存管理系统课程设计说明书Word文档格式.docx

1、工作量1.主要包括程序的编码实现和数据库的设计2.代码总行数为307行,数据库中两张表划第一周:进行需求分析和业务流程图,实体关系图的绘制,建立逻辑模型第二周:进行类的设计和数据库的设计,编码测试考资料1马光志等编著. C+程序设计实践教程. 华中科技大学出版社,2001年2黄维通等编著.Visual C+ 面向对象与可视化程序设计.清华大学出版社,2000年3刘瑞新等编著. Visual C+ 面向对象程序设计教程. 机械工业出版社指导教师签字基层教学单位主任签字说明:此表一式四份,学生、指导教师、基层教学单位、系部各一份。年 月 日 燕山大学课程设计评审意见表指导教师评语:成绩: 年 月

2、日答辩小组评语:组长:年 月 日课程设计总成绩:答辩小组成员签字:摘要 51. 引言 51.1 面向对象程序设计思想 51.2 面向对象程序设计的优点 52. 总体设计 52.1 需求分析 52.2 程序流程图 62.3 实体-关系模型 62.4 类的设计 7 2.4.1 管理员类 7 2.4.2 商品基类 7 2.4.3 零售商品类 7 2.4.4 散称商品类 7 2.4.5 数据库连接类 72.5 数据库的设计 73. 实现方法 83.1 类的定义 83.2 类的实现 103.3 类的应用 153.4 程序源代码 164. 运行结果及分析 255. 结论 266. 心得体会 26参考文献

3、28摘要 商品库存管理系统是商店中不可缺少的部分,本篇主要利用C+面向对象编程的方法设计了一个商品库存管理系统,后台数据库采用轻量级数据库mysql 5.0,管理员通过账号密码登录系统后实现对库存商品的增加,删除,修改,查询等功能,进而实现对商品库存的管理。1. 引言面向对象程序设计与结构化程序设计考虑问题的角度不同,他的重点不是对问题本身的功能分解和各个功能的具体算法实现,而是从系统组成的角度进行分解,对问题进行自然分解,以更接近人类思维的方式建立问题域模型。1.1 面向对象程序设计思想将数据及对数据的操作方法进行封装,作为一个有机体对象。封装使得算法和数据形成了相互依存的关系。通过采用抽象

4、、封装、继承和多态性等概念和措施,以一种模拟人类认知的方式对软件系统建模,从而构造出可重用性好、易维护的软件,提高软件的开放效率。1.2 面向对象程序设计的优点1)程序模块之间的关系更为简单,程序模块的独立性、数据的安全性有良好的保障。2)通过继承与多态性,可以大大提高程序的可重用性,使得软件的开发和维护都更为方便。2. 总体设计2.1 需求分析管理员可以登录系统,登录成功后对查询所有商品的名称,编号,数量,价格以及类型;通过商品编号修改某一商品的价格;通过商品编号删除该商品;输入商品的名称,编号,数量,价格,类型进行添加;2.2 业务流程图2.3 实体-关系模型2.4 类的设计 2.4.1

5、管理员类管理员类静态属性有管理员姓名,管理员密码,管理员编号动态方法有登录login(); 2.4.2 商品基类商品基类静态属性有商品名称,商品价格,商品数量,商品编号,商品类型动态方法有添加商品addGoods(),更新商品价格updateGoods(),删除商品 deleteGoods(),查询所有商品 getAllGoods();其中添加商品addGoods()为纯虚函数,因为考虑到散称和零售商品添加的时候商品价格表示不同,所以设置成纯虚函数,由各自的类重写该方法。 2.4.3 零售商品类重写了添加商品addGoods();价格设置成:元/件 2.4.4 散称商品类元/kg 2.4.5

6、数据库连接类主要负责数据库的连接,操作指针的生成。方法有构造方法DataBase();初始化数据库连接2.5 数据库的设计数据库中总共有两个表,管理员表adminer,商品表goods管理员表adminer结构如下:adminId 管理员在数据库中的id adminName 管理员姓名 adminPasswd 密码 adminNum 管理员编号管理员表adminer的内容如下:商品表goods的结构如下:商品表的内容如下:3. 实现方法3.1 类的定义/* mysql数据库操作类*/class DataBasepublic: DataBase(); MYSQL *conn; MYSQL_RES

7、 *resSet; MYSQL_ROW row; MYSQL_FIELD *field; unsigned int ret,numFields; MYSQL* getConnection();* 管理员类*/class Adminer bool login(string user,string pwd); /登录方法* 商品基类class BaseGoodsprotected: int goodsId; /数据库自增id string goodsName; /商品名称 string goodsNum; /编号 string goodsPrice;/价格 string goodsCount;/剩

8、余数量 string goodsType; /类型 /基类属性的set get函数 void setGoodsId(int id); int getGoodsId(); void setGoodsName(string name); string getGoodsName(); void setGoodsNum(string num); string getGoodsNum(); void setGoodsPrice(string price); string getGoodsPrice(); void setGoodsCount(string count); string getGoodsC

9、ount(); void setGoodsType(string type); string getGoodsType(); /数据库操作函数 virtual void addGoods(BaseGoods* goods)=0; /纯虚函数-添加商品 void updateGoods(string goodsName,string goodsNum); void deleteGoods(string goodsNum); /删除商品 void getAllGoods(string type); /查看所有商品 void getGoodsByCount(string type,int count

10、); /条件查询库存数量低于count的商品* 散装商品类class BulkGoods:public BaseGoods void addGoods(BaseGoods* goods);* 零售商品类class RetailGoods:3.2 类的实现DataBase:DataBase() conn=mysql_init(NULL); if(conn=NULL) cout数据库初始化连接失败endl; ret=mysql_options(conn,MYSQL_SET_CHARSET_NAME,gb2312); /设置字符编码 if(ret!=0)数据库初始化设置失败 if(mysql_rea

11、l_connect(conn,localhost,rootyyn1995goodsManage,0,NULL,0)=NULL)数据库连接失败!bool Adminer:login(string user,string pwd) DataBase db; string sql=SELECT adminPasswd FROM adminer where adminNum=+user+; const char *c_sql=sql.c_str(); if(mysql_query(db.conn, c_sql) /查询成功返回非0查询失败 else db.resSet = mysql_store_re

12、sult(db.conn); /查询失败返回NULL if(db.resSet=NULL) cout0) this-goodsId=id;int BaseGoods:getGoodsId() return goodsId;setGoodsName(string name) if(name.length()0&name.length()num.length()goodsPrice=price;getGoodsPrice() return goodsPrice;setGoodsCount(string count) if(count.length()goodsCount=count;getGood

13、sCount() return goodsCount;setGoodsType(string type) this-goodsType=type;getGoodsType() return goodsType;deleteGoods(string goodsNum) /删除商品delete from goods where 编号=+goodsNum+ mysql_query(db.conn,c_sql); int flag=mysql_affected_rows(db.conn); if(flag cout删除flag条记录成功 else删除失败getAllGoods(string type)

14、 /按类型查询商品SELECT * FROM goods where 类型=+type+ if(mysql_query(db.conn, c_sql) /查询成功返回非0 mysql_query failed! for(int i=0; i db.numFields; i+) db.field = mysql_fetch_field_direct(db.resSet, i); coutsetw(10)name; for (int i = 0; mysql_num_fields(db.resSet); i +) coutgetGoodsName(); string num=goods-getGo

15、odsNum(); string count=goods-getGoodsCount(); count.append(kg string price=goods-getGoodsPrice(); price.append(元/kg string type=goods-getGoodsType();insert into goods(名称,编号,价格,数量,类型)values(+name+,+num+price+count+)插入插入失败* 零售商品void RetailGoods:addGoods(BaseGoods* goods) /零售商品的添加商品件元/件3.3 类的应用void mai

16、n() -商品库存管理- bool flag=true; bool flag2=true; while(flag) DataBase a; RetailGoods bg; BaseGoods* goods=&bg; Adminer b; bool result; string user,password; while(flag2) /登录判断请输入用户名和密码 cinuserpassword; result=b.login(user,password); if(result)usergetAllGoods(零售散装 case 2:请输入商品名称,编号,价格,数量,类型 cingoodsName

17、goodsNumgoodsPricegoodsCountgoodsType; bg.setGoodsName(goodsName); bg.setGoodsNum(goodsNum); bg.setGoodsPrice(goodsPrice); bg.setGoodsCount(goodsCount); bg.setGoodsType(goodsType);addGoods(goods); /向上转型 分别调用对象各自的函数 case 3:请输入要删除的商品编号goodsNum;deleteGoods(goodsNum); case 4:请输入商品价格,商品编号updateGoods(goodsPrice,goodsNum);

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

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