问题描述:输出分数的多种形式。
输入描述:两个整数做分子分母然后在输入编号求形式。
程序输出:各种形式分数。
#include<iostream>
using namespace std;
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();
void simplify();
void amplife(int n);
void output(int style=0);
};
CFraction::CFraction(int nu,int de)
{
nume=nu;
deno=de;
}
void CFraction::set(int nu,int de)
{
nume=nu;
deno=de;
}
void CFraction::input()
{
cout<<nume<<"/"<<deno<<endl;
}
void CFraction::simplify()
{
int t,a,b,c;
a=nume;
b=deno;
while(deno!=0)
{
t=nume%deno;
nume=deno;
deno=t;
}
c=nume;
nume=a/c;
deno=b/c;
cout<<nume<<"/"<<deno<<endl;
}
void CFraction::amplife(int n)
{
nume=nume*n;
cout<<nume<<"/"<<deno<<endl;
}
void CFraction::output(int style)
{
if(style==0)
{
cout<<nume<<"/"<<deno<<endl;
}
else if(style==1)
{
cout<<nume<<"/"<<deno<<endl;
}
else if(style==2)
{
int a,zi;
a=nume/deno;
zi=nume-a*deno;
cout<<a<<"("<<zi<<"/"<<deno<<")"<<endl;
}
else
{
float a;
a=nume*1.0/deno;
cout<<a<<endl;
}
}
int main()
{
int a,b,n;
cin>>a>>b;
CFraction cf(a,b);
cf.set(a,b);
cf.input();
cf.simplify();
cin>>n;
cf.amplife(n);
int style;
cin>>style;
cf.output(style);
}