1. 定义分数类Rational,要求在private部分用整数表示分子和分母,分子和分母以简化形势表示。即24/36表示成2/3的形式,并提供public成员函数实现如下功能:
  2. 两个分数相加,结果表示为简化形式。
  3. 两个分数相减,结果表示为简化形式。
  4. 按a/b的形式输出分数的值,a、b为整数。
  5. 按浮点数的形式输出分数的值。
#include<iostream>
using namespace std;
class Rational
{private:int numerator, denominator;//numerator代表分子,denominator代表分母
public:Rational(int a = 0, int b = 1)//构造函数,分别用a和b对分子分母进行初始化{numerator = a, denominator = b;}int gys(int m, int n);   //求两个数的最大公约数void compute(Rational f);//因为要实现分数的相加,而分数又是作为对象,因为返回值类型和参数类型都是类类型void get(){cout << "请输入分子分母:" << endl;cin >> numerator >> denominator;}void show(){double t;cout << "分数形式为:" << numerator << "/" << denominator << endl;t = (double)numerator / (double)denominator;cout << "浮点数形式为:" << t << endl;}
};
int Rational::gys(int m, int n) //辗转相除法
{int temp;if (m < n){temp = m;m = n;n = temp;}while (n != 0){temp = m % n;m = n;n = temp;}return m;
}
void Rational::compute(Rational f)
{Rational sum, difference;int g = (denominator * f.denominator) / gys(denominator, f.denominator);//求出了分母的最大公倍数g=(m*n)/vsum.numerator = (g / denominator) * numerator + (g / f.denominator) * f.numerator;//求出通分后的分子分母 difference.numerator = (g / denominator) * numerator - (g / f.denominator) * f.numerator;sum.denominator = g;difference.denominator = g;int a = gys(sum.numerator, sum.denominator);//求出通分后的分子分母的最大公约数用来化简 int b = gys(difference.numerator, difference.denominator);sum.numerator = sum.numerator / a;  //最简分子分母 sum.denominator = sum.denominator / a;difference.numerator = difference.numerator / b;difference.denominator = difference.denominator / b;//最简分子分母 cout << "两个分数之和为:" << endl;sum.show();cout << "两个分数之差为:" << endl;difference.show();
}
int main()
{Rational zk1, zk2, zk3;zk1.get();zk2.get();zk1.compute(zk2);
}



1. 定义分数类Rational,要求在private部分用整数表示分子和分母,分子和分母以简化形势表示。即24/36表示成2/3的形式,并提供public成员函数实现如下功能: 2. 两个分数相加,相关推荐

  1. 求三个长方柱的体积,数据成员包括length(长)、width(高)。要求用成员函数实现以下功能: (1)用键盘分别输入三个长方柱的长宽高; (2)计算长方柱的体积;(3)输出3个长方柱的体积。

    项目要求: 需要求三个长方柱的体积,请编写一个基于对象的程序,数据成员包括length(长).width(高).要求用成员函数实现以下功能: (1)用键盘分别输入三个长方柱的长宽高: (2)计算长方柱 ...

  2. C语言输出长方柱的体积,需要求3个长方柱的体积,请编写一个基于对象的程序。数据成员包括length(长)、width(宽)、 height(高)。要求用成员函数实现以下功能...

    需要求3个长方柱的体积,请编写一个基于对象的程序.数据成员包括length(长).width(宽). height(高).要求用成员函数实现以下功能: (1) 由键盘分别输入3个长方柱的长.宽.高: ...

  3. 设计一个分数类java_Java 有理数类 分数类 Rational类的设计与实现

    要实现Rational类的加减乘除,要实现其可比较性,要覆盖toString()方法,要实现不同数据类型的转换等. package chapter14; public class Rational e ...

  4. C++细节 输出运算符的重载为什么不写成类的成员函数

    打印类中的一些变量,此时就需要使用函数或者重载,为了提高代码可读性,一般使用操作符重载来书写,而cout并不在c++的默认类成员函数中,需要我们自己书写.第一种写在类中如下面的代码(我们以日期类举例, ...

  5. 6-4 派生类使用基类的成员函数

    6-4 派生类使用基类的成员函数 分数 5 全屏浏览题目 切换布局 作者 李廷元 单位 中国民用航空飞行学院 按要求完成下面的程序: 1.定义一个Animal类,成员包括: (1)整数类型的私有数据成 ...

  6. C++类和对象(中)(6个默认成员函数)

    目录 1.类的6个默认成员函数 2. 构造函数 2.1 概念 2.2 特性 1. ==函数名==与==类名==相同. 2. 无返回值. 3. ==对象实例化时==编译器自动调用对应的构造函数. 4. ...

  7. 如何让API回调你的VC类成员函数而不是静态函数

    首先需要包含一个由yzwykkldczsh同志编写的模板类-----万能多用自适应无限制回调模板(为纪念友人fishskin,此模板又称为H>W模板) /******************** ...

  8. abstract类中可以有private的成员_C++|static成员与单例模式

    如果需要一个全局对象,如对话框.系统日志.显卡等设备的驱动程序对象.一台PC连接一个键盘等.这样的全局对象只能是一个且是全局的,这就是单例模式,如何实现呢? 1 不能在类外部通过构造函数新建对象:构造 ...

  9. 类的成员函数作为函数指针

    网上找了半天没找到,还是看官方文档比较清晰:std::function - cppreference.com (polytechnique.fr) 同时给出自己设计C类型的成员函数指针的形式. 其实函 ...

最新文章

  1. mysql 8+ 忘记root密码 解决方案
  2. php中轮转图片js代码,js实现图片轮换效果代码
  3. Myeclipse加载php插件
  4. mysql中实现分类统计查询的步骤_实验07:数据库的组合查询和统计查询
  5. JAVA知识积累 JSP第一篇【JSP介绍、工作原理、生命周期、语法、指令、行为】...
  6. 20145227鄢曼君《网络对抗》Web安全基础实践
  7. 统计字符串中出现最多的单词和次多的单词
  8. 【Science】颠覆三观的超强聚类算法
  9. 调度流程图_怎么做大数据工作流调度系统?大厂架构师一语点破!
  10. java上下文的作用_Spring中的应用程序上下文有什么作用? - java
  11. [转]Hooked on DTrace
  12. Word中有些空行无法删除,我是这样解决的.............
  13. O365(世纪互联)SharePoint 之使用列表库发布新闻
  14. 正则表达式限制只能输入中文英文数字
  15. Wework的线上社交,能否支撑其169亿估值?
  16. linux 命令:yum 详解
  17. 王洪涛:大数据技术的最终目标是应用
  18. SWUST OJ312: 偷菜
  19. GDDR6X和GDDR6差距对比 GDDR6X和GDDR6区别
  20. 传输层的重要协议——TCP

热门文章

  1. MATLAB音频数字水印
  2. 应用物理专业c语言,应用物理学专业属于什么学科
  3. 微信支付宝手机网站支付(WAP)
  4. 中国第一大物联网系统是小米vela,鸿蒙作为后来者需要时间追赶
  5. Apache日志分割——rotatelogs、cronolog
  6. c++ c语言编写抽学号小程序
  7. 百分数转bigd_英语口语小数、百分数以及倍数巧表达
  8. 你需要一款高效的搜索工具,Everything下载安装使用,快速上手,小工具推荐
  9. 麦仑·沙迈追求漂亮女人的故事(一)
  10. 11-陕西小伙伴网络科技有限公司-info