第四周项目2-分数类的雏形
来源:互联网 发布:苹果手机免费小说软件 编辑:程序博客网 时间:2024/05/17 07:38
问题及代码:/* *Copyright (c) 2015,烟台大学计算机学院*All rights reserved.*文件名称:test.cop*作者:*完成日期:2015年3月31日*版本号:v1.0**问题描述: *输入描述:*输出描述:
<pre name="code" class="html">#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};int main(){ CFraction c1; c1.set(); c1.input(); c1.output(0); c1.output(1); c1.output(2); c1.output(3); return 0;}CFraction::CFraction(int nu,int de){ if(de!=0) { nume=nu; deno=de; } else {cout<<"初始化错误,程序退出"<<endl; exit(0); }}void CFraction::set(int nu,int de){ nume=nu; deno=de;}void CFraction::input(){ int nu,de; char a; cout<<"请输入分数"<<endl; cin>>nu>>a>>de; if(a!='/') { cout<<"输入格式错误,请从新输入"<<endl; input(); } nume=nu; deno=de;}void CFraction::simplify(){ int n=gcd(deno, nume); deno/=n; // 化简 nume/=n;}// 求m,n的最大公约数int gcd(int m, int n) //这个函数可以定义为类的成员函数,也可以为一般函数{ int r; if (m<n) { r=m; m=n; n=r; } while(r=m%n) // 求m,n的最大公约数 { m=n; n=r; } return n;}void CFraction::amplify(int n){ nume*=n;}void CFraction::output(int style){ switch(style) { int n;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; }}
运行结果:
<img src="http://img.blog.csdn.net/20150331132351040?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaG91eGluaGFuZzEyMw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
0 0
- 第四周项目2 分数的雏形
- 第四周 项目2-分数类雏形
- 第四周 项目2-分数类的雏形(2)
- 第四周项目2 分数类的雏形
- 第四周上机项目2分数类的雏形
- 第四周 【项目2-分数类的雏形】
- 第四周 项目2-分数类的雏形(1)
- 第四周项目2-分数类的雏形
- 第四周项目2-分数类的雏形
- 第四周【项目2-分数类的雏形】
- 第四周上机实践项目2-分数类的雏形
- 第四周项目2-分数类的雏形
- 第四周 项目2 分数类的雏形
- 第四周项目2-分数类的雏形
- 第四周项目2分数类的雏形
- 第四周上机项目2 分数类的雏形
- 第四周项目2 分数类的雏形
- 第四周 项目二 分数的雏形
- CVPR2012——Ali Borji的三篇saliency
- app信息:PackageInfo+ApplicationInfo+ActivityInfo/ServiceInfo/ProviderInfo+PermissionInfo+...
- 谱聚类:Spectral Clustering
- 论坛邮件搜索群发软件_猫神qq邮件群发软件_美的电子邮件系统
- Android中已经不推荐使用的模块
- 第四周项目2-分数类的雏形
- 深入理解C语言
- 判断点在多边形内的多种写法
- Android ViewPager实现Tabhost选项卡底部滑块动态滑动过渡
- [Flex]Flex Builder中网络监视器导致“访问URL时遇到安全性错误”
- 多线程GCD的初步研究
- 使用ulimit 命令可以分别查看软限制和硬限制
- Android单点触控技术,对图片进行平移,缩放,旋转操作
- FIR.im 帮你生成管理邀请码 -- inCode