C++面向对象程序设计实验题:有理数类(分数类)设计
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++面向对象程序设计实验题:有理数类(分数类)设计相关推荐
- 面向对象程序设计实验——编写Rational类
面向对象程序设计实验--编写Rational类 实验任务与要求 代码解析 定义一个命名空间Numeric Rational类的成员变量 编写默认构造函数 编写复制构造函数 编写赋值操作= 分数化简 编 ...
- java程序设计清考_面向对象程序设计(Java)-题库
<面向对象程序设计(Java)-题库>由会员分享,可在线阅读,更多相关<面向对象程序设计(Java)-题库(33页珍藏版)>请在金锄头文库上搜索. 1.面向对象程序设计 (ja ...
- java红牛农场答案_Java面向对象程序设计实验指导与习题解答(21世纪高等学校计算机专业实用规划教材)...
导语 <Java面向对象程序设计实验指导与习题解答>是<Java面向对象程序设计>(作者耿祥义,清华大学出版社出版,2010)的配套实验指导和习题解答,目的是通过一系列实验练习 ...
- 20175212童皓桢 Java实验二-面向对象程序设计实验报告
20175212童皓桢 Java实验二-面向对象程序设计实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设 ...
- java面向对象实验结论及心得_20162305 实验二 Java面向对象程序设计 实验报告
20162305 实验二 Java面向对象程序设计 实验报告 实验内容 1.初步掌握单元测试和TDD 2.理解并掌握面向对象三要素:封装.继承.多态 3.初步掌握UML建模 4.熟悉S.O.L.I.D ...
- 20145206《Java程序设计》实验二Java面向对象程序设计实验报告
20145206<Java程序设计>实验二Java面向对象程序设计实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O. ...
- 红牛农场java代码_Java面向对象程序设计实验指导模板代码(171页)-原创力文档...
PAGE 1 PAGE 24 Java面向对象程序设计实验指导代码 内容简介 本书是<Java面向对象程序设计>的配套实验指导和习题解答.本书的第一部分为16次上机实践的内容,每次上机实践 ...
- 面向对象程序设计实验 如何使用JTable来展示数据
目录 1.绘制出带滚动条的JTable表格并填充数据 2.创建一个JPanel用来显示在表格中选中的数据 3.使在选中的表格中的一行下添加新的一行 4.Java代码部分 5.Github仓库地址 1. ...
- 设计一个分数类java_Java 有理数类 分数类 Rational类的设计与实现
要实现Rational类的加减乘除,要实现其可比较性,要覆盖toString()方法,要实现不同数据类型的转换等. package chapter14; public class Rational e ...
最新文章
- 量子计算技术的研究现状与趋势
- docker中开启时运行多个不同进程,安装ssh,并在启动docker时与jenkins同时启动运行
- 四种方法取表里n到m条纪录:[转]
- 如何使用 jMeter CSV Data Set config
- 自入行C++程序设计以来
- MySQL01:MySQL概述
- form表单中的name属性
- Landsat 数据下载与预处理
- 解决Win7下JMF读取摄像头错误
- linux 命令:nohup 详解
- win10共享打印机搜索不到计算机,大师告诉您Win10搜不到共享打印机的操作方案...
- Win10计算机默认排序,win10系统文件夹自动排列怎么取消?win10文件夹不自动排列设置方法...
- Python用QQ邮箱发送邮件,支持抄送和附件
- HDU——2154——跳舞毯
- 语音-MFCC,Fbank特征提取
- 经典网络营销软文成功例子
- 【网络】之TCP/IP 网络模型有哪几层
- 蓝桥杯练习-调和级数。
- 华为鸿蒙是安卓9,鸿蒙“翻车”了?网友发现全新的鸿蒙系统居然是安卓9.0,华为骗我们?...
- 【雕爷学编程】Arduino动手做(57)---四档矩形波模块