zoukankan      html  css  js  c++  java
  • C++程序设计实践指导1.6分数运算改写要求实现

    改写要求:重载>>和<<实现分数类对象的直接输入输出,重载+完成多个分数对象加法

    #include <cstdlib>
    #include <iostream>
    
    using namespace std;
    class Fract
    {
        
          int num,den;
          public:           
                 friend ostream& operator << (ostream& output,Fract& temp);
                 friend istream& operator >> (istream& intput,Fract& temp1);
                 Fract operator + (Fract& temp1);
                 int gcd(int m,int n)
                 {
                     int r;
                     if(m<n)
                     {
                            r=m;m=n;n=r;
                     }
                     while(r=m%n)
                     {
                          m=n;
                          n=r;
                     }
                     return n;
                 }
               
    };
    
    istream& operator >>(istream& input,Fract& temp1)
    {
             input>>temp1.num>>temp1.den;
             return input;
    }
    
    ostream& operator <<(ostream& output,Fract& temp)
    {
             output<<temp.num<<"/"<<temp.den<<endl;
             return output;
    }
    
    Fract Fract::operator + (Fract& temp1)
    {
             Fract sum;
             int x,y,temp;
             x=num*temp1.den+den*temp1.num;
             y=den*temp1.den;
             temp=gcd(x,y);
             x=x/temp;
             y=y/temp;
             sum.num=x;
             sum.den=y;
             return sum;
    }
                 
    int main(int argc, char *argv[])
    {
        Fract temp1,temp2,temp;
        cin>>temp1>>temp2;
        temp=temp1+temp2;
        cout<<temp;
        system("PAUSE");
        return EXIT_SUCCESS;
    }
  • 相关阅读:
    项目发展规划 题解
    善意的投票&小M的作物 题解
    方格取数加强版 题解
    BZOJ1001 狼抓兔子 题解
    a
    一个搬运
    代码“小白”的温故而知新(一)-----OA管理系统
    工作流-----WorkFlow
    温习SQL语句
    浅谈MVC基础
  • 原文地址:https://www.cnblogs.com/c5395348/p/4272013.html
Copyright © 2011-2022 走看看