第五週プロジェクト二
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();
}