版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2012 年 2 月华中农业大学理学院计算机科学系2011 级 C/C+语言程序设计( 2)友情提示:部分程序功能及相关内容要求等,会在后续进行 适当调整,敬请关注每次实验最后一题的内容。实验一 程序结构知识点常量和变量,基本数据类型,输入输出,控制语句(顺序、分支、循环) ,简单源程序 框架背景水果超市是近年来兴起的一种水果经营方式,在水果超市中购买水果就像在超市购物 一样, 可以任意挑选自己喜欢的水果,付账时电脑计费, 统一打印小票,不满意的水果可以 包退、包换。由于水果超市具有价格低廉、品种丰富、购买感觉较好、够档次、有品味、遍 历、服务快捷的优势, 越来越多的消费者喜欢在水果超市中购买
2、水果。 这种水果的经营方式 逐渐被消费者接受,基本取代了传统的水果经营模式。系统功能介绍一个软件系统的设计与开发通常从用户需求分析开始,通过总体设计、详细设计和代 码编写形成城乡,经过系统测试和调试、修改工作,最终完善系统并交付用户正式使用。水果超市的管理流程比较简单,主要完成水果的进货和销售、实现销售情况的查询等。 因为多数同学熟悉在水果超市购买水果的过程, 因此这里将侧重于水果的销售过程, 而简化 水果的进货过程。 作为水果超市管理系统的用户, 他们希望系统能够向顾客展示超市水果的 进步信息, 如水果的名称、售价等; 同时还希望系统为顾客提供方便的选购水果、 退货以及 结账的服务。另外,
3、作为超市的业主,他们也希望实时了解超市的运营情况,每天的销售额 以及获利情况。 基于客户的这种需求, 本系统主要实现 3 部分的功能, 分别是记录简单进货 情况的基本数据管理功能, 顾客选购水果、 退货和结账服务的日常业务活动的管理功能, 以 及超市经营情况的信息查询服务功能,如图所示。基础数据部分完成水果基本信息的初始化,包括水果的编号、名称、进价和售价等信 息的录入。本系统将水果分成两类,一类是正价水果,另一类是进行促销活动的特价水果。 在水果基本信息初始化模块中要完成所有水果基本信息的录入, 这些数据将为日后的日常销 售和信息查询功能的实现提供必要的基础信息。2012 年 2 月华中农业
4、大学理学院计算机科学系2011 级 C/C+语言程序设计( 2)水果超市管理系统功能模块 日常业务管理部分包括选购水果、退货和结账 3 个模块功能,顾客进入超市后系统将 系统将为其自动生成一个空的购物车, 当顾客选到要买的水果后, 系统将由选购水果功能模 块将所选的水果编号、 名称和数量信息加入顾客的购物车中。 顾客对所选的某种水果不满意 时可用退货模块, 将购物车中的该商品删掉。 当顾客完成水果的选购之后, 系统进入结账功 能模块, 根据顾客购物车中的水果名称、 数量和基础数据部分录入的水果售价计算出顾客应 付的金额。 顾客付完钱后系统将清空购物车, 同时系统内部会降这笔水果销售的金额累加到
5、 销售总额中, 并根据水果的进价计算出利润, 也累加到利润总额中, 为后面的信息查询模块 提供数据。信息查询模块提供了水果销售总额和利润总额的查询,以便于业主及时掌握超市的经 营情况。系统菜单的设计菜单作为系统与用户之间进行沟通的桥梁具有方便、直接的特点,因此目前多数软件 系统均采用菜单模式进行功能的选择。 用户使用软件系统首先从菜单开始, 一个友好的系统 菜单能够比较容易地让用户接受系统, 方便用户使用。 菜单设计的目的就是向用户全面展示 系统功能, 同时方便用户对系统的操作。 水果超市管理系统的菜单除了提供图中所示的所有 功能外,为了便于用户的操作,还为每项功能提供了对应的字符表示。使用水
6、果超市管理系统的用户需要在系统提供的各项功能中进行反复选择,比如每个 顾客购买水果都需要进行水果的选择和结账的服务, 业主可能经常要查看销售信息等, 因此 菜单的设计综合应用了循环结构和多条件选择结构语句。系统运行后,首先向用户展示系统菜单,列出各种功能,用户根据需要进行选择,系 统自动完成所选功能的调用: 每项功能执行完, 用户可以根据自己的需求从系统菜单中再次 选择其他操作。 本次实验中只介绍系统菜单的设计与实现, 因此与菜单对应的各功能仅通过 示意性的函数调用来实现,而没有给出具体的函数。同学请注意,以下程序只能在 VC6.0 系统中编译通过, 并不能连接形成可执行文件。 通过这次实验,
7、 同学们应掌握应用程序开发 的基本方法,程序的基本框架,在后面的实验过程中以此为基础,逐步完善程序功能。华中农业大学理学院计算机科学系2011 级 C/C+语言程序设计( 2)2012 年 2 月水果超市管理系统菜单设计程序32012 年 2 月华中农业大学理学院计算机科学系2011 级 C/C+语言程序设计( 2)实验二 数组和指针知识点:数组,指针,指针与引用在函数中的作用,结构体分析:水果超市要销售多种水果就必须保存水果的很多信息,那么如何保存这些水果的基本 信息呢?我们自然会想到数组, 因为数组是存放相同类型数据的最佳工具, 便于信息的存放、 查询与管理。 本次实验就是用数组来存放超市
8、中的水果信息, 并进行水果信息的显示和查询。设计:在该例中我们定义了 Fruit 结构体,用来表示水果,记录水果的名称和售价:并定义数 组 FruitKind ,用来存放超市中所有水果的信息。在水果信息的录入和显示中用数组的下标 形式表示数组中的元素:在水果信息的查询函数中,通过指针 fk 的移动来表示数组中的各 个元素。实验三 函数知识点:结构体,函数重载,全局变量和局部变量1、分析:一个水果超市管理系统与一个电子商务网站一样,购物车是必须的设计。购物车作为 衔接商品和结账流程的中间桥梁, 其重要性不言而喻。 本次实验中只简单介绍购物车的实现 方法和注意事项。2、设计:在考虑如何设计购物车时
9、,首先要对购物车作功能的规划。作为购物车,最根本的功 能是存储用户所购买商品的信息,另外, 还应该有购买种类、 数量以及金额等地统计, 同时 也少不了删除商品等方法。在该例中,定义一个结构体 FruitKind 表示水果,每种水果都有名称和单价:用静态数 组 allfruitkind 来存储水果超市中所有的水果信息;用数组car 来表示购物车,购物车记录购2012 年 2 月华中农业大学理学院计算机科学系2011 级 C/C+语言程序设计( 2)买水果的种类、数量以及价钱,其数组元素的类型为定义的结构体类型CartItem ,该结构体包括水果的种类、重量和价钱。 购物车具有的购买商品、 统计金
10、额和删除商品等功能, 分别 通过函数 Add() 、 DeleteItem() 和 CheckOut() 来实现。为了突出水果超市管理系统中购物车的 主要功能, 在这里简化了其他功能, 如水果种类管理等。 在我们的实验中只列举了购物车的 3 个主要功能购买商品、统计金额和删除商品。在本程序中对购物车购买商品、统计金额、删除商品等功能以及显示所购买商品信息 分别编写了函数, 并且为了使各项功能对当前同一个购物车进行操作, 所有这些函数的参数 分别选择指针类型和引用类型,从而使函数内的变化反映到主函数中的购物车中。实验四 类和对象知识点:类的声明,对象的定义和使用,全局变量和局部变量介绍:水果超市
11、管理系统采用面向对象的程序设计方法,主要是封装和继承的应用。系统既 然要对水果的销售进行管理, 必然要在系统中设计若干个类以实现各种管理功能。 其中,“水 果类( Fruit )”是一个最基本的类,由此派生出“正价水果类(RegularFruit )”和“特价水果类( DiscountFruit )”等;为了实现系统的功能、完成对水果销售的管理,还需要设计“水 果总类( FruitKind )”、“购买水果种类( CartItem )”和“购物车类( Cart)”等基本类。“水果类” Fruit 的设计:在水果超市管理系统中要处理各种各样的水果(利润,正价水果、特价水果,苹果、 橘子、香蕉等)
12、 ,无论是哪类水果都具备水果的基本特征,因此可以将各种水果的共性特征 抽取出来,形成一个基本类,这就是水果类,包括水果编号、水果名称、水果进价等数据成 员以及修改和输出这些数据成员的成员函数等,如表所示。表 “水果类” Fruit 成员说明数据成员成员函数fruitNumber :水果编号Fruit() :构造函数fruitName :水果名称DispFruitNumber() :显示水果编号purchasePrice:水果进价SetFruitNumber() :修改水果编号GetFruitNumber() :获取水果编号DispFruitName() :显示水果名称SetFruitName(
13、) :修改水果名称GetFruitName() :获取水果名称DispPurchasePrice():显示水果进价SetPurchasePrice():修改水果进价GetPrice():获取水果进价52012 年 2 月华中农业大学理学院计算机科学系2011 级 C/C+语言程序设计( 2)DispFruit() :显示水果信息“水果总类” FruitKind 的设计在水果超市管理系统中, 为了实现对水果超市的库存、 销售和利润情况进行管理, 首先 要对超市中欲销售的水果种类进行设置, 包括正价水果、 特价水果都有哪些, 以及每种水果 的进价和售价是多少等。这些初始化工作是在“水果总类” Fr
14、uitKind 中实现的,具体操作 由超市的系统管理员来完成。在该类中使用了“正价水果( RegularFruit )”和“特价水果 ( DiscountFruit )”两个派生类,这两个类的具体定义和使用会在下一次实验中介绍,在本 次实验中将其理解为两个类即可。 “水果总类” FruitKind 的成员说明如下表所示。表 “水果总类” FruitKind 成员说明数据成员成员函数discKind :一维数组,用于 存储特价水果种类FruitKind() :构造函数AddDiscKind() :添加特价水果种类reguKind :一维数组, 用于 存储正价水果种类AddReguKind() :
15、添加正价水果种类InitFruitKind() :水果总类初始化discKindLength :特价水果 种类数目DispFruitKind() :显示超市所有水果列表GetDiscFruit() :返回某种特价水果reguKindLength :正价水果 种类数目GetReguFruit() :返回某种正价水果DispReguFruitKind() :显示正价水果信息DispDiscFruitKind() :显示特价水果信息购买水果品种类” CartItem 的设计在水果超市管理系统中, 购物车用来记录购买水果的种类、数量以及价钱, 而“购买水 果品种类” CartItem 用来记录所购买的
16、每一种水果的情况,包括购买的数量和金额等,其成 员说明如表所示。表 “购买水果品种类” CartItem 成员说明数据成员成员函数f:指针, 指向 Fruit 类对象CartItem() :构造函数DispCartItem() :显示某种水果的购买信息weight:某种水果购买的数GetMoney() :获取购买某种水果的金额量GetFruit() :返回指针 f ,指向购买的某种水果money:购买某种水果的金GetWeight() :返回该种水果购买的数量额2012 年 2 月华中农业大学理学院计算机科学系2011 级 C/C+语言程序设计( 2)购物车类” Cart 的设计“购物车类”
17、Cart 用于实现购买商品、 统计金额、 删除商品以及显示所购买商品信息等功能,如表所示。表 “购物车类” Cart 成员说明数据成员成员函数car:一维数组,存储购物Cart () :构造函数车所购买的水果信息AddItem() :在购物车中添加购买的水果count:记录购物车中所购买的水果品种信息DeleteItem() :在购物车中删除某种水果CheckOut() :结账DispCart() :显示购物车中所购买的水果实验五 继承和派生知识点:派生类的声明和使用介绍:水果超市管理系统采用面向对象的程序设计方法开发,继承机制是面向对象程序设计 最重要的特征之一,在水果超市管理系统的设计过程
18、中运用继承方法由已有类派生出新类, 实现了代码重用。水果超市的水果分为正价水果和特价水果,它们都是具体的水果,具有水果的特征和 属性。在上次实验中我们实现了水果类 Fruit 的定义,现在可以通过继承方法由水果类派生 出“正价水果类( RegularFruit )”和“特价水果类( DiscountFruit )”。“正价水果类” RegularFruit 的设计:“正价水果类” RegularFruit 由“水果类” Fruit 派生得来。除了继承水果类原有的成员 外,还新添加了正常售价数据成员, 以及相应的构造函数和修改、 提取正常售价的成员函数, 并对继承自基类的显示水果信息的函数 Di
19、spFruit() 进行了重写,类中成员的说明如表所示。表 “正价水果类” RegularFruit 成员说明数据成员成员函数fruitNumber :水果编号RegularFruit() :构造函数fruitName :水果名称DispFruitNumber() :显示水果编号purchasePrice:水果进价SetFruitNumber() :修改水果编号regularPrice :正常售价GetFruitNumber() :获取水果编号DispFruitName() :显示水果名称72012 年 2 月华中农业大学理学院计算机科学系2011 级 C/C+语言程序设计( 2)SetFruitName() :修改水果名称 GetFruitName() :获取水果名称 DispPurchasePrice():显示水果进价 SetPurchasePrice():修改水果进价 GetPrice():获取水果进价 DispFruit() :显示水果信息DispFruit() :显示正价水果信息(重写) GetRegularPrice() :获取水果正常售价 SetRegularPrice() :修改水果正常售价“特价水果类” DiscountFruit
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 仓库作业隐患排查与整改计划
- 2024年度铝合金船舶制造材料采购协议3篇
- 2025年BIM工程师之BIM工程师考试题库带答案(能力提升)
- 2024年度消防电源设备供应安装合同2篇
- 2025版新教材高考物理全程一轮总复习课时分层作业30机械振动
- 4 认识空气 教学实录-2023-2024学年科学一年级下册冀人版
- 2024年乳胶漆环保认证采购合同范本3篇
- 2024年桶装水电子商务平台建设合同
- 2024版城市供水项目特许经营权合同3篇
- 2024版反担保合同:适用于跨境电商物流企业信用风险共担协议6篇
- 气相色谱检测器FID-培训讲解课件
- 新教材人教A版高中数学选择性必修第一册全册教学课件
- 《HSK标准教程1》-HSK1-L8课件
- 幼儿园小班绘本:《藏在哪里了》 课件
- 上册外研社六年级英语复习教案
- 替班换班登记表
- 社会保险法 课件
- 阿利的红斗篷 完整版课件PPT
- 桥梁工程挡土墙施工
- 供应商质量问题处理流程范文
- 实验室生物安全手册(完整版)资料
评论
0/150
提交评论