第五週プロジェクト二

2337 ワード

/*
* Copyright (c)2013,            
* All rightsreserved.
*     : array.cpp
*       :      
*     :2014    3  29  
*    : v1.0
*     : 
*/

#include <iostream>
#include <cmath>
#include<cstdlib>

using namespace std;
int gcd(int m,int n);
class CFraction
{
private:
    int nume;  //   
    int deno;  //   
public:
    CFraction(int nu=0,int de=1);   //    ,    
    void set(int nu=0,int de=1);    //  ,     
    void input();    //  "nu/de"   , "5/2"     
    void simplify();     //  (          )
    void amplify(int n);     //  n , 2/3  5  10/3
    void output(int style=0);   //  : 8/6  ,style 0 ,    8/6;
                                //style 1 ,       4/3;
                                //style 2 ,  1(1/3)  ,        ;
                                //style 3 ,       , 1.3333;
                                //    0
};
CFraction::CFraction(int nu,int de)
{
    if(de!=0)
    {
        nume=nu;
        deno=de;
    }
    else
    {
        cout<<"        ,    
"; exit(0); } } void CFraction::set(int nu,int de) { if(de!=0) { nume=nu; deno=de; } } void CFraction::input() { int nu,de; cin>>nu>>de; set(nu,de); } void CFraction::simplify() { int n=gcd(deno,nume); deno/=n; nume/=n; } 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; } void CFraction::amplify(int n) { nume*n; } void CFraction::output(int style) { cout<<nume<<"/"<<deno; } int main() { CFraction cf; cout<<" :"<<endl; cf.input(); cout<<" :"; cf.simplify(); cf.output(); }