项目1——分数类的雏形
2016-04-07 09:05
369 查看
问题及代码:
运行结果:
/* *copyright (c) 2014,烟台大学计算机学院 *All rights reserved. *文件名称:test.cpp *作 者:李一波 *完成日期:2016年4月7号 *版 本 号: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"的格式,如"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 }; CFraction::CFraction(int nu,int de) { nume=nu; deno=de; } void CFraction::set(int nu,int de) { nume=nu; deno=de; } void CFraction::input() { cout<<nume<<"/"<<deno<<endl; } void CFraction::simplify() { int yushu; int n=nume; int d=deno; while(d!=0) { yushu=n%d; n=d; d=yushu; } nume=nume/n; deno=deno/n; } void CFraction::amplify(int n) { nume=nume*n; cout<<nume<<"/"<<deno<<endl; } void CFraction::output(int style) { if(style==0) { cout<<nume<<"/"<<deno<<endl; } if(style==1) { simplify(); cout<<nume<<"/"<<deno<<endl; } if(style==2) { if(nume>deno) { int zhengshu; zhengshu=nume/deno; nume=nume-deno*zhengshu; cout<<zhengshu<<"("<<nume<<"/"<<deno<<")"<<endl; } else { simplify(); cout<<nume<<"/"<<deno<<endl; } } if(style==3) { double s; s=(double)nume/(double)deno; cout<<s<<endl; } } int main() { CFraction fenshu(2,5); int n,m; cin>>n>>m; fenshu.simplify(); fenshu.amplify(n); fenshu.output(m); fenshu.output(); fenshu.set(8,6); fenshu.simplify(); fenshu.amplify(n); fenshu.output(m); fenshu.output(); return 0; }
运行结果:
相关文章推荐
- 让老版本IE支持html5
- C++第三次实验——个人所得税计算器
- 【小镇的技术天梯】lanmp服务器集群搭建(2)nfs文件共享
- C++第一次上机试验报告2
- 连连看
- 连连看
- C# DateTime 日期加1天 减一天 加一月 减一月 等方法
- 无人机精灵4目避障可能采用的是FPGA+MCU
- android蓝牙扫描(scan)设备分析
- 2.2.4 postfix的调试
- 什么是HTTPS
- 进入单用户模式
- 配置本地ip
- hadoop Failed to execute goal org.apache.maven.plugins:maven-javadoc-plugin:2.8.1:jar
- Java NIO Buffer
- 机器学习中的数据清洗与特征处理综述
- 2.2.3.2 postfix与TLS、SASL
- struts2如何输出错误信息
- Android内存优化十一:Android之安全机制
- 2016年4月6日作业 风险管理、项目收尾、知识产权管理