C++走向远洋——30(六周,项目一1.0)

来源:互联网 发布:不亦说乎的通假字 编辑:程序博客网 时间:2024/04/30 13:06
*/ * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:fenshu.cpp * 作者:常轩 * 微信公众号:Worldhello * 完成日期:2016年3月23日 * 版本号:V1.0 * 问题描述:实现类中的成员函数 * 程序输入:无 * 程序输出:见运行结果 */#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();                   //按照“nu/de”的格式,输入void simplify();                //化简,void amplify(int n);            //放大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(){char a;cin>>nume>>a>>deno;}void CFraction::output(int style){switch(style){case 0:cout<<nume<<"/"<<deno<<endl;break;case 1:simplify();break;case 2:cout<<nume/deno<<"("<<nume%deno<<"/"<<deno<<")"<<endl;break;case 3:cout<<nume*1.0/deno<<endl;}}void CFraction::simplify(){    int i;if(nume>deno)nume=deno;for(i=nume;i>1;i--)    {        if(nume%i==0 && deno%i==0)        {         cout<<nume/i<<"/"<<deno/i<<endl;            break;        }    }    if(i<=1)        cout<<nume/i<<"/"<<deno/i<<endl;}void CFraction::amplify(int n){cout<<n*nume<<"/"<<deno<<endl;}int main(){   CFraction Fenshu;   Fenshu.output();   return 0;} 

运行结果:


0 0
原创粉丝点击