第六周项目1 分数类的设计
2016-04-07 08:55
169 查看
/* *Copyright(c) 2016,烟台大学计算机学院 *All rights reserved. *文件名称:test2.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(); void simplify(); void amplify(int n); void output(int style=0); }; CFraction::CFraction(int nu,int de):nume(nu),deno(de) { //cout<<nume<<" "<<deno<<endl; } void CFraction::set(int nu,int de) { cout<<"Please input nume and deno:"<<endl; cin>>nu>>de; nume=nu; deno=de; } void CFraction::input() { char ch; cout<<"请输入分子和分母(分子/分母)"<<endl; cin>>nume>>ch>>deno; } void CFraction::simplify() { int x,y,t; x=nume; y=deno; if(x<y) { t=x; x=y; y=t; } while(y>0) { t=x%y; x=y; y=t; } nume=nume/x; deno=deno/x; cout<<"化简后的分数为:"<<endl; cout<<nume<<"/"<<deno<<endl; } void CFraction::amplify(int n) { nume=nume*n; cout <<"放大"<<n<<"倍后的分数为:"<<endl; cout<<nume<<"/"<<deno<<endl; } void CFraction::output(int style) { if(style==0) { cout<<nume<<"/"<<deno<<endl; } else if(style==1) { simplify(); } else if(style==2) { cout<<nume/deno<<"("<<nume%deno<<"/"<<deno<<")"<<endl; } else if(style==3) { float fl; fl=(float)nume/deno; cout<<fl<<endl; } } int main() { CFraction num; num.input(); num.simplify(); num.amplify(2); num.output(1); num.output(2); num.output(3); return 0; }
运行结果:
相关文章推荐
- iperf – 統計 jitter 以及 packet loss
- 第六周项目训练2带武器的角色类
- C++作业3
- 设计模式-装饰者模式(Go语言描述)
- css3 变形 transfrom rotate scale skew
- iOS 微博 sdk access_token 过期重登
- Java实现AES加密算法的简单示例分享
- 别傻了,人家离职你也离
- 去除inline-block元素间的空隙
- HTML5
- android 蓝牙代码架构及其uart 到rfcomm流程
- 第六周项目四 静态成员应用
- C# 遍历枚举
- 史上最全webview详解
- 对android应用程序的理解
- 史上最全webview详解
- 史上最全webview详解
- HMM学习笔记_2(从一个实例中学习HMM前向算法)
- 深度学习(八)caffe源码学习-未完待续
- Apache Shiro 快速入门教程