第四周项目二
来源:互联网 发布:糖糖淘宝客怎么样 编辑:程序博客网 时间:2024/05/16 08:58
#include <iostream>#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):nume(nu),deno(de) {}; //构造函数,初始化用 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//输出:以8/6为例,style为0时,原样输出8/6;//style为1时,输出化简后形式4/3;//style为2时,输出1(1/3)形式,表示一又三分之一;//style为3时,用小数形式输出,如1.3333;//默认方式0 void output(int style=0);};void CFraction::set(int nu,int de){ if(de!=0) { nume=nu; deno=de; } else { cerr<<"初始化中发生错误,程序退出\n"; 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;}// 求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) //放大n倍,如2/3放大5倍为10/3{ nume*=n;}//输出分数:以/6为例//style为0时,原样输出8/6;//style为1时,输出化简后形式4/3;//style为2时,输出1(1/3)形式,表示一又三分之一;//style为3时,用小数形式输出,如1.3333;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(){ CFraction c1,c2(8,6); cout<<"关于c1: "<<endl; c1.output(0); cout<<"改变c1: "<<endl; //测试set函数 c1.set(2,7); c1.output(); cout<<"输入c1: "<<endl;//测试input函数 c1.input(); c1.output(0); cout<<"关于c2: "<<endl;//测试output函数 c2.output(0); c2.output(1); c2.output(3); c2.output(3); c2.output(); cout<<"将c2化简: "<<endl;//测试simplify函数 c2.simplify(); c2.output(0); cout<<"将c2放大倍: "<<endl;//测试amplify函数 c2.amplify(5); c2.output(0); c2.output(1); return 0;}
0 0
- 第四周项目二
- 第四周项目二
- 第四周项目二
- 第四周项目二
- 第四周项目二
- 第四周项目二
- 第四周项目二
- 第四周-项目二
- 第四周项目二
- 第四周项目二
- 第四周项目二
- 第四周项目二
- 第四周项目二
- 第四周项目二
- 第四周项目二
- 第四周 项目二 三角形类
- 第四周项目二—三角形类
- 第四周项目二----三角形类
- 黑马程序员--java基础--IO流(一)字符流
- AUthorized key 不起作用
- Magento后台订单列表页,增加SKU、Qty、客户邮箱字段
- 三角形面积计算
- Vector的学习
- 第四周项目二
- 动画相关的工具类AnimationUtil
- 软件产品 软件版本
- Android性能优化 (一)- ListView
- [LinkedIn]Combination factors
- 第四周项目1.1
- 大夏shell编程学习笔记(1)
- zookeeper addauth
- package和import的使用