有理数运算c++_第1页
有理数运算c++_第2页
有理数运算c++_第3页
有理数运算c++_第4页
有理数运算c++_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2015 2016 学年第二学期学年第二学期 面向对象程序设计 面向对象程序设计 c 大作业说明书大作业说明书 班级名称 2014 计算机科学与技术 对口 学生姓名 学 号 题 目 有理数运算系统 指导教师 王汇彬 计算机与信息工程学院 目目 录录 1 设计思想 1 1 1 题目要求 1 1 2 算法的设计 1 2 软硬件运行环境及开发工具 1 3 程序图 1 3 1 程序框图 1 3 2 系统流程图 2 3 3 类图 2 4 过程论述 3 4 1 知识点 3 4 2 部分代码分析 3 5 结果分析 6 6 结论 9 1 1 设计思想 1 1 题目要求 定义并实现一个有理数类 通过重载运算符 对有理数进行算术 运算 通过重载运算符 实现判定两个有理数是否相等 写一个优化函数 它的作用是使有理数约去公分母 使保存的有理数分子和分母之间没有公约数 1 除外 此外 还要定义一个将有理数转换为实数的函数 再加上构造函 数和有理数输出函数 1 2 算法的设计 设有两个有理数 a b 和 c d 则有 1 有理数相加 分子 a d b c 分母 b d 2 有理数相减 分子 a d b c 分母 b d 3 有理数相乘 分子 a c 分母 b d 4 有理数相除 分子 a d 分母 b c 2 软硬件运行环境及开发工具 编程语言 c 开发环境 Windows 7 visual c 6 0 3 程序图 3 1 程序框图 类名类型成员名描述 Inta分子 Intb分母 doubler转化后的实数 NumOperator num 加法重载 NumOperator num 减法重载 NumOperator num 乘法重载 num NumOperator num 除法重载 2 NumOperator num 等于号重载 VoidShow 显示有理数 VoidReduction int int 约分 DoubleR 转换为实数 AVoidMenu num int 显示菜单 3 2 系统流程图 如图 3 1 所示 图 3 1 系统流程图 3 3 类图 如图 3 2 所示 3 图 3 2 类图 4 过程论述 4 1 知识点 本系统是一个关于有理数运算的系统 涉及到了以下知识点 1 类和继承的使用 将参与运算的变量封装在类中 方便使用 2 运算符重载 根据用户的需要 选择相应的运算 3 友元函数的使用 通过友元函数访问其他类中的私有成员 4 模块化的使用 将每种功能都放在相应函数内 分工清晰 方便修改 4 2 部分代码分析 1 num 类将要进行运算的变量和方法封装在一块 方便操作 主要设计代码如下 class num public int a b double r num int a 0 int b 0 this a a this b b friend num operator const num 运算符重载 friend num operator const num friend num operator const num friend num operator const num 4 friend bool operator const num double convert 将有理数转化实数 r double a b return r void reduction int int 约分 将相同的公约数去掉 void show 显示 2 主界面设计 主要代码如下 void A menu num n1 num n2 num n3 int a int b int c int d 主菜单 int n char ch do cout 有理数运算 endl cout t1 endl cout t2 endl cout t3 endl cout t4 endl cout 有理数运算 endl cout n switch n case 1 break case 2 break case 3 break case 4 break 5 cout ch if ch n c N break if ch y c Y continue while n 3 选择 1 调用 运算符函数 并判断分子分母是否相等 主要代码如下 case 1 if a d b c cout n1 n2 endl else n3 n1 n2 cout 有理数为 n3 show cout 约分后为 n3 reduction a d b c b d cout 转换为实数 n3 convert endl break 4 选择 2 调用 运算符函数 并判断分子分母是否相等 主要代码如下 case 2 if a d b c cout n1 n2 endl else n3 n1 n2 cout 有理数为 n3 show cout 约分后为 n3 reduction a d b c b d 6 cout 转换为实数 n3 convert endl break 5 选择 3 调用 运算符函数 并判断分子分母是否相等 主要代码如下 case 3 if a d b c cout n1 n2 endl else n3 n1 n2 cout 有理数为 n3 show cout 约分后为 n3 reduction a c b d cout 转换为实数 n3 convert endl break 6 按 4 调用 运算符函数 并判断分子分母是否相等 主要代码如下 case 4 if a d b c cout n1 n2 endl else n3 n1 n2 cout 有理数为 n3 show cout 约分后为 n3 reduction a d b c cout 转换为实数 n3 convert endl break 5 结果分析 1 主界面设计 如图 5 1 所示 7 图 5 1 主界面图 2 选择 1 结果如图 5 2 所示 图 5 2 运算图 3 选择 2 结果如图 5 3 所示 8 图 5 3 运算图 4 选择 3 结果如图 5 4 所示 图 5 4 运算图 5 按 4 结果如图 5 5 所示 9 图 5 5 运算图 6 结论 本次作业的实现过程中 发现自身存在很多不足 很多知识点都没有掌握 好 通过翻阅课本和网上查找资料解决了编程过程中存在的问题 在翻阅资料 的同时 发现一个程序不仅仅是可运行的 较好的可读性和较高的运行效率是 很重要的 10 面向对象程序设计 面向对象程序设计 C C 课程大作业评分表 课程大作业评分表 学号2014214188姓名徐红燕 项

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论