第六周项目一-分数类的雏形(2)
来源:互联网 发布:php自助建站系统源码 编辑:程序博客网 时间:2024/05/17 07:04
/* *Copyright(c)2016,烟台大学计算机与控制工程学院 *All rights reserved *文件名称:123.cpp *作 者:王蕊 *完成日期:2016年4月3日 *版 本 号:v1.0 * *问题描述:先构造函数和输出output函数(可以先只实现一种输出方式),再set函数,再input函数,等等。 *输入描述:无。 *程序输出:无。*/ #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(); 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"; exit(0); }}void CFraction::set(int nu,int de){ if (de!=0) { nume=nu; deno=de; }}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==0) { return n; } while(r=m%n) { m=n; n=r; } return n;}void CFraction::amplify(int n){ nume*=n;}void CFraction::output(int style){ int n=gcd(nume,deno); switch(style) { case 0: cout<<"初始:" <<nume<<'/'<<deno<<endl; break; case 1: cout<<"化简: "<<nume/n<<'/'<<deno/n<<endl; break; case 2: cout<<"分数:" <<nume/deno<<'('<<(nume/n)%(deno/n)<<'/'<<deno/n<<')'<<endl; break; case 3: cout<<"近似值:" <<nume/double(deno)<<endl; break; default: cout<<"默认:" <<nume<<'/'<<deno<<endl; }}int main(){ CFraction c1,c2(8,6); c1.output(0); cout<<"改变c1: "<<endl; c1.set(2,7); c1.output(); cout<<"输入c1: "<<endl; c1.input(); c1.output(0); c2.output(0); c2.output(1); c2.output(2); 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); return 0;}
运行结果:
0 0
- 第六周项目一-分数类的雏形(2)
- 第六周项目一-分数类的雏形(1)
- 第六周项目一 分数类的雏形
- 第六周项目一 分数类的雏形
- 第六周 项目一 分数类的雏形
- 第六周项目一-分数类的雏形
- 第六周项目-分数类的雏形
- 第六周项目1:分数的雏形
- 第六周项目1分数类的雏形
- 第六周项目1-分数类的雏形
- 第六周项目1-分数类的雏形
- 第六周项目1——分数类的雏形
- 第六周项目1==分数类的雏形
- 第六周【项目1-分数类的雏形】
- 第六周项目1—分数类的雏形
- 第六周 项目1-分数类的雏形
- 第六周项目1-分数类的雏形
- 第六周项目1-分数类的雏形
- linux下信号
- LeetCode #1 Two Sum C# Solution
- libiconv编译出错解决
- font-face 自定义字体,让页面文艺起来~~~
- 例程8. PCA_PWM -- 慕司板IAP15
- 第六周项目一-分数类的雏形(2)
- eclipse中批量修改Java类文件中引入的package包路径 - [工具使用]
- 模态框
- Android 源码下载 编译.
- BJTU 1703 Ficer的春运 (DFS)
- 格雷码
- 排序
- 数据结构学习-绪论(1)
- JUST SORT