栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

06-C. 分数运算(类+构造)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

06-C. 分数运算(类+构造)

06-构造与析构-

题目描述
用C++定义和实现一个分数类,并根据要求完成分数对象的运用

分数类包含分子和分母两个属性,操作包括:

1 . 各属性的get方法

2 . 构造函数,初始化分子分母

3 . 相加运算,该运算接收两个分数对象的分子和分母,然后进行分数相加,结果保存在自己的分子和分母中,运算规则为:假设当前分数为A0/B0,接收两个分数A1/B1和A2/B2,相加结果,A0=A1×B2 + A2×B1,B0=B1×B2

4 . 相乘运算,该运算接收两个分数对象的分子和分母,然后进行分数相乘,运算规则为:假设当前分数为A0/B0,接收两个分数A1/B1和A2/B2,然后进行分数相乘,A0=A1×A2,B0= B1×B2

5 . 显示函数,显示格式:分数/分母


在主函数中定义若干个分数对象,并使用分数对象进行运算。

提示:每个分数运算都包含三个分数对象,例如要做分数A和B的相加,那么除了A和B还要定义C,通过调用C的相加方法,把A和B的分子分母传递给C运算,结果保存在C中

注意:提交代码时必须用注释划分出三个区域:类定义、类实现、主函数,如下

输入
第一行输入t表示有t个测试实例

第二行输入第一个分数的分子和分母,都用整数输入,都不为0

第三行输入第二个分数的分子和分母,都用整数输入,都不为0

依次类推输入其他实例的分数分子和分母

注意:如果分数是负数,负号在分子中输入,例如负的五分之三,则分子为-3,分母为5

输出
输出每个实例的运算结果,每个实例包含三行

第一行输出要运算的两个分数对象

第二行输出两个分数相加的结果,注意相加的运算、结果显示都要使用第三个对象的方法

第三行输出两个分数相乘的结果,注意相乘的运算、结果显示都要使用第三个对象的方法

输入样例
2
2 3
4 5
-3 4
5 6

2/3 4/5
22/15
8/15
-3/4 5/6
2/24
-15/24

#include 
using namespace std;
//不用约分!!!

//-----类定义------
class fraction
{
    int mole,deno;
public:
    fraction();//无参构造函数
    fraction(int m,int d);//有参构造函数
    int getmole();
    int getdeno();
    void setmole(int m);
    void setdeno(int d);
    void print();
    void add(fraction f);
    void multi(fraction f);
};

//----类实现------
fraction::fraction()
{mole=0;deno=0;}
fraction::fraction(int m,int d)
{mole=m;deno=d;}
int fraction::getmole()
{return mole;}
int fraction::getdeno()
{return deno;}
void fraction::setdeno(int d)
{deno=d;}
void fraction::setmole(int m)
{mole=m;}
void fraction::print()
{
    if((deno<0&&mole<0)||deno<0)
    {
        deno=0-deno;
        mole=0-mole;
    }
    cout<>t;
    while(t--)
    {
        int m1,d1,m2,d2;
        cin>>m1>>d1>>m2>>d2;
        fraction f1(m1,d1);
        fraction f2(m2,d2);
        cout<
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/352847.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号