课程论文
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
附件二【学生用】
西北林科技大学信息工程学院
面向对象编程实习报告
题目:网上购物管理系统
学号2013012972
姓名申金顺
专业班级计算机科学与技术131
指导教师胡少军
实践日期2015年3月2日—3月13日
目录
一、综合训练目的与要求 (1)
二、综合训练任务 (1)
三、总体设计 (2)
四、详细设计说明 (3)
五、调试与测试 (6)
六、实习日志 (10)
七、实习总结 (12)
八、附录:核心代码清单 (12)
一、综合训练目的与要求
1.通过团队协作,采用面向对象程序设计思想(类的设计,抽象,封装,包含与继承,
多态性,简易UML图)进行项目开发,并能够解决一定的实际问题;
2.掌握撰写规范程序设计文档的能力,训练语言组织与表达能力。
3.通过综合实训,使我们更加牢固的掌握有关面向对象的知识,同时加深对面向对象
和C++编程技术的理解和掌握,培养实际的应用程序开发能力。
4.培养我们使用MFC或者QT设计程序,使我们学会用这些工具去开发软件
二、综合训练任务
1. 网上购物管理系统中存在如下业务实体:顾客(编号、名称、级别、email、注册时间等),商品(编号、名称、价格、库存量、分类、上架时间等),商品分类目录(编号、名称、级别、创建时间、其他说明等,该目录需要支持嵌套亦即目录下面还可以设定子目录),购物车(编号、顾客编号、创建时间、失效时间、商品清单信息等),购物车商品信息(流水号、购物车编号、商品编号、数量、单价、应付款、添入时间等);
2. 支持对以上相关业务实体的新增、删除、属性编辑、查询等操作;
3. 网上购物管理中以上所有业务实体的保存与打开等文件操作。
4.我的主要任务是:购物单类的设计,manage类中有关顾客的操作,还有文件的读写,以及main函数的结构设计和代码编写。
三、总体设计
我们做的网上购物管理系统,主要功能有:对顾客和商品的查询,添加,删除,信息更改,以及查看销售总额和购买记录等。
我们做的这个一共有五个类分别有:普通顾客类,VIP类,管理员类,购物清单类和货物类。我设计的类有:购物清单类和管理员类的一部分。
四、详细设计说明
(1) 购物单类UML图:
buy_list
#product_id: long
# product_discount:double
# product_price: double
# once_used_money:double
+buy_list()
+~buy_list()
+set_buy_list(id:long,discount,price,money:double):void
+ show_buy_list():void
① set_buy_list()函数说明:
在购物单中创建一条新的记录,入口参数为商品编号id,折扣discount,价格price,和应付金额money。
②show_buy_list()函数说明
分别输出每条记录中的product_id,product_discount,product_price, once_used_money
(2)管理员类UML图:
manage
- provec:vector
-cusvec:vector
-nomvec:vector
- list: buy_list
+ total_money:double
+ cus: customer
+ vip: vip_customer
manage()
+ ~manage()
+add_product(pro:product):void
+ add_product():void
+ delete_product():void
+ show_product(id:long)void
+change_product():void
+ show_product_amount_smaller():void
+add_vip_customer(vip:vip_customer):void
+add_vip_customer():void
+show_vip_customer(vip_id:string):void
+delete_vip():void
+ buy_product():void
+buy_product_vip(vipid:string):void
+deal_end_buy(once_used_money:double):void
+deal_end_buy_vip(once_used_money:double ):void
+ show_vip_buy_history(vipid:string):void
+show_total_money():void
+ check():bool
+ product_load():void
+product_write(product pro):void
+ vip_load():void
+vip_write(vip: vip_customer):void
①buy_product()函数说明
此函数用来普通顾客购买商品,不需要入口参数,调用此函数时,函数内部需要你输入商品编号和商品数量,并且计算出应付金额,在购物单内建一条新的记录,将该商品的库存量相应的减少
②buy_product_vip(vipid:string)函数说明
此函数用来VIP购买商品,入口参数为vip号,函数内部功能和普通顾客的区别是计算应付金额时要打九折,还要增加一条购物历史
③deal_end_buy(once_used_money:double)函数说明
当普通顾客选择结束购买时,就会调用此函数,入口参数为一次的消费金额,在函数内部判断once_used_money是否大于1000,如果大于1000,就将该顾客添加为会员,否则输出消费金额
④deal_end_buy_(once_used_money:double)函数说明
当顾客选择结束购买时,将消费总额输出
⑤product_load() ,vip_load()函数说明
这两个函数用来将文件中的数据读到product 和vip的容器之中,方便以后的使用
⑥product_write(product pro) ,vip_write(vip_customer vip)函数说明
这两个函数用来将pro 和 vip中的数据写入到文件当中,并使用追加模式
(3)主函数设计结构图