定义并实现一个表示有理数的类Rational ,包括方法的实现

lanceyang1992 2014-11-23 07:27:20
#include <stdio.h>
#include “Rational.h” // Ration定义在该头文件中
int main ()
{ Rational num1(1, 3), num2(3, 1), num3(2, 6), result;
result = num1 + num2;
printf(“%s + %s = %s\n”, num1.value( ),
num2.value( ), result.value( ) );
result = num1 * num2;
printf(“%s * %s = %s\n”, num1.value(),
num2.value(), result.value());
printf(“%s is%s equal to %s.\n”, num1.value(),
(num1 == num2) ? “ ” : “ not”, num2.value());
printf(“%s is%s equal to %s.\n”, num1.value(),
(num1 == num3) ? “ ” : “ not”, num3.value());
return 0;
}

输出结果
1/3 + 3/1 = 10/3
1/3 * 3/1 = 3/3
1/3 is not equal to 3/1.
1/3 is equal to 2/6.
...全文
650 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
有理数)创建一个名为 Rational,用于对分数进行算术运算。编写一个程序来测试你的。使用整数变量来表示的私有实例变量——分子和分母。 提供一个构造函数,使该的对象能够在声明时进行初始化。构造函数应以简化形式存储分数。分数 2/4 等价于 1/2,并将作为分子中的 1 和分母中的 2 存储在对象中。 如果没有提供初始值设定项,请提供默认值为 1 的无参数构造函数。 提供执行以下每个操作的公共方法: a) 将两个有理数相加:相加的结果应以简化形式存储。 b) 两个有理数相减:相减的结果应以简化形式存储。 c) 将两个有理数相乘:相乘的结果应以简化形式存储。 d) 将两个有理数相除:相除的结果应以简化形式存储。 e) 以 a/b 的形式返回有理数的字符串表示形式,其中 a 是分子,b 是分母。 f) 以浮点格式返回有理数的字符串表示形式. (考虑提供格式化功能,的用户能够指定小数点右侧的精度位数。) 【Sample output 1】 Enter numerator 1: 12 Enter denominator 1: 3 Enter numerator 2: 5 Enter denominator 2: 14 Enter precision: 3 a=4/1 b=5/14 a + b = 61/14 = 4.357 a - b = 51/14 = 3.643 a * b = 10/7 = 1.429 a / b = 56/5 = 11.200 【Sample output 2】 Enter numerator 1: 1 Enter denominator 1: 4 Enter numerator 2: 75 Enter denominator 2: 35 Enter precision: 1 a=1/4 b=15/7 a + b = 67/28 = 2.4 a - b = -53/28 = -1.9 a * b = 15/28 = 0.5 a / b = 7/60 = 0.1 Note: The red texts are inputed ,others are output texts. Just use a space to seperate words

64,636

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧