C++实验题:有理数类(分数类)设计

问题描述:

根据main测试函数设计有理数类CRational,数据成员由分子、分母组成(都是整型,应表示成最简形式),完成分数显示(如用户输入的分子是4,分母是8,输出:1/2)、两个分数相加、相乘等功能。main函数不得修改。提示:用分子分母的最大公约数分别除分子和分母即得最简分数。

已提供代码片段:

 int main(){int a,b,c,d;//接受两个CRational对象的分子和分母cin>>a>>b>>c>>d;CRational f1(a,b);//f1对象的分子为a,分母为bCRational f2(c,d);CRational f3=f1.add(f2);//f1+f2的结果保存到f3中f3.show();//显示形式:分子/分母f3=f1.multi(f2);//f1*f2的结果保存到f3中f3.show();return 0;}

若输入:

-1 5 6 -20

将输出:

-1/2

3/50

解决方案:

#include <iostream>
#include <algorithm>
using namespace std;class CRational{//定义公共类型publicpublic://定义变量int fz;//定义分子int fm;//定义分母
//定义无参和含参变量CRational(){this->fz=0;this->fm=1;}//this指针定义初始值0和1CRational(int a, int b){int c=__gcd(a,b);fz=a/c;fm=b/c;}//__gcd(a,b)是求a和b的最大公约数,需要导入"#include <algorithm>"这个库//定义含参变量的分子和分母,如2,6则需要化简为1和3//定义函数的用法和具体内容CRational add(CRational c){int x=c.fm * this->fm ;//定义新分数的分母x的值是由两个分数的分母相乘int y=c.fz * this->fm + c.fm * this->fz ;//定义新分数的分子y的值是两个分数的分子分母交叉相乘求和CRational result(y,x);//定义结果return result;//返回结果}//定义add这个函数,作用是求两个分子的和的最简值CRational multi(CRational c){int x=c.fm * this->fm ;//定义新分数的分母x的值是由两个分数的分母相乘int y=c.fz * this->fz ;//定义新分数的分子y的值是由两个分数的分子相乘CRational result(y,x);//定义结果return result;//返回结果}//定义multi这个函数,作用是求两个分子的积的最简值//定义show的内容和最终呈现形态void show(){if(fm<0){fz=-fz;fm=-fm;}cout<<fz<<'/'<<fm<<endl;//定义show}};

C++面向对象程序设计实验题:有理数类(分数类)设计相关推荐

  1. 面向对象程序设计实验——编写Rational类

    面向对象程序设计实验--编写Rational类 实验任务与要求 代码解析 定义一个命名空间Numeric Rational类的成员变量 编写默认构造函数 编写复制构造函数 编写赋值操作= 分数化简 编 ...

  2. java程序设计清考_面向对象程序设计(Java)-题库

    <面向对象程序设计(Java)-题库>由会员分享,可在线阅读,更多相关<面向对象程序设计(Java)-题库(33页珍藏版)>请在金锄头文库上搜索. 1.面向对象程序设计 (ja ...

  3. java红牛农场答案_Java面向对象程序设计实验指导与习题解答(21世纪高等学校计算机专业实用规划教材)...

    导语 <Java面向对象程序设计实验指导与习题解答>是<Java面向对象程序设计>(作者耿祥义,清华大学出版社出版,2010)的配套实验指导和习题解答,目的是通过一系列实验练习 ...

  4. 20175212童皓桢 Java实验二-面向对象程序设计实验报告

    20175212童皓桢 Java实验二-面向对象程序设计实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设 ...

  5. java面向对象实验结论及心得_20162305 实验二 Java面向对象程序设计 实验报告

    20162305 实验二 Java面向对象程序设计 实验报告 实验内容 1.初步掌握单元测试和TDD 2.理解并掌握面向对象三要素:封装.继承.多态 3.初步掌握UML建模 4.熟悉S.O.L.I.D ...

  6. 20145206《Java程序设计》实验二Java面向对象程序设计实验报告

    20145206<Java程序设计>实验二Java面向对象程序设计实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O. ...

  7. 红牛农场java代码_Java面向对象程序设计实验指导模板代码(171页)-原创力文档...

    PAGE 1 PAGE 24 Java面向对象程序设计实验指导代码 内容简介 本书是<Java面向对象程序设计>的配套实验指导和习题解答.本书的第一部分为16次上机实践的内容,每次上机实践 ...

  8. 面向对象程序设计实验 如何使用JTable来展示数据

    目录 1.绘制出带滚动条的JTable表格并填充数据 2.创建一个JPanel用来显示在表格中选中的数据 3.使在选中的表格中的一行下添加新的一行 4.Java代码部分 5.Github仓库地址 1. ...

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

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

最新文章

  1. 量子计算技术的研究现状与趋势
  2. docker中开启时运行多个不同进程,安装ssh,并在启动docker时与jenkins同时启动运行
  3. 四种方法取表里n到m条纪录:[转]
  4. 如何使用 jMeter CSV Data Set config
  5. 自入行C++程序设计以来
  6. MySQL01:MySQL概述
  7. form表单中的name属性
  8. Landsat 数据下载与预处理
  9. 解决Win7下JMF读取摄像头错误
  10. linux 命令:nohup 详解
  11. win10共享打印机搜索不到计算机,大师告诉您Win10搜不到共享打印机的操作方案...
  12. Win10计算机默认排序,win10系统文件夹自动排列怎么取消?win10文件夹不自动排列设置方法...
  13. Python用QQ邮箱发送邮件,支持抄送和附件
  14. HDU——2154——跳舞毯
  15. 语音-MFCC,Fbank特征提取
  16. 经典网络营销软文成功例子
  17. 【网络】之TCP/IP 网络模型有哪几层
  18. 蓝桥杯练习-调和级数。
  19. 华为鸿蒙是安卓9,鸿蒙“翻车”了?网友发现全新的鸿蒙系统居然是安卓9.0,华为骗我们?...
  20. 【雕爷学编程】Arduino动手做(57)---四档矩形波模块

热门文章

  1. 使用CAXA建立螺纹
  2. shopapi总显示服务器异常,Shopee虾皮官方资料:打开API、串接API的常见问题与解答...
  3. 5G无线网络智能规划技术的探索与实践
  4. 武汉地铁站点最短路径搜索的实现(一)——Dijkstra算法(资料收集)
  5. sqlserver加上百分号_用一条sql语句显示数据百分比并加百分号
  6. 服务调用追踪工具skywalking实践
  7. 巨大金中华,烽火普天下
  8. verilog练习:hdlbits网站上的做题笔记(6)
  9. 央视揭秘网络推广:水军横行 想让你红你就红
  10. nginx upstream 健康检查