第五周上级项目二

来源:互联网 发布:淘宝引流宝有用吗 编辑:程序博客网 时间:2024/05/17 01:32
/*   02.* 程序的版权和版本声明部分   03.* Copyright (c)2012, 烟台大学计算机学院学生   04.* All rightsreserved.   05.* 文件名称: object.cpp   06.* 作者:李全港  07.* 完成日期: 2013年4 月3  日   08.* 版本号: v1.0   09.* 输入描述:无   10.* 问题描述:   11.* 程序输出:  12.*/   #include <iostream>#include<Cmath>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();    void simplify();    void amplify(int n);    void output(int style=0);};CFraction::CFraction(int nu,int de){    if(de!=0)    {        nume=nu;        deno=de;    }    else    {        cerr<<"初始化中发生错误,程序退出\n";        system("pause");        exit(0);    }    }void CFraction::input(){    int nu,de;    char c;    while(1)    {        cout<<"输入分数(m/n):";        cin>>nu>>c>>de;        if(c!='/')            cout<<"输入格式错误!\n";        else if(de==0)            cout<<"分母不能为零!\n";        else            break;    }    nume=nu;    deno=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){    int n;    switch(style)    {        case 0:        cout<<"原样:"<<nume<<'/'<<deno<<endl;        break;        case 1:            n=gcd(deno,nume);            cout<<"化简形式:"<<nume/n<<'/'<<deno/n<<endl;            break;        case 2:            cout<<"带分数形式:" <<nume/deno<<'('<<nume%deno<<'/'<<deno<<')'<<endl;            break;            case 3;            cout<<" 近似值:"<<nume/double(deno)<<endl;            break;            default:                cout<<"默认原样:"<<nume<<'/'deno<<endl;    }}int main(){    CFration c1,c2(8,6);    cout<<"关于c1:"<<endl;    c1.output();    cout<<"改变c1:"<<endl;    c1.set(2,7);    c1.output();    cout<<"输入c1:"<<endl;    c1.output();    c1.output(0);    cout<<"关于c2:"<<endl;    c2.output(0);    c2.output(1);    c2.output(3);    c2.output(3);    c2.output();    cout<<"将c2化简:" <<endl;    c2.simplify();    c2.output(0);    cout<<" 将c2放大倍:" <<endl;    c2.amplify(5);    c2.output(0);    c2.output(1);    system("pause");    return 0;}


	
				
		
原创粉丝点击