分数类
来源:互联网 发布:广州百度快照优化 编辑:程序博客网 时间:2024/05/01 04:33
/**Corpyright (c)2013,烟台大学计算机学院*All right reseved.*作者:张梦佳*完成日期:2014年3月30日*版本号:v1.0*输入描述:*问题描述:矩形累的初始化!*程序输出:*问题分析:*算法设计:*/#include <iostream>#include <cmath>#include <cstring>using namespace std;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 simplify1(); 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};void CFraction::simplify1(){ int i=0; if(nume>deno&&nume%deno!=0) { i=nume/deno-1; cout<<i<<"("<<nume-deno*i<<"/"<<deno<<")"<<endl; } else if(nume<deno&&nume%deno!=0) { cout<<"("<<nume<<"/"<<deno<<")"<<endl; } else { cout<<nume/deno<<endl; }}void CFraction::set(int nu,int de){ nume=nu; deno=de;}void CFraction::input(){ int a,b; string sss; cout<<"请输入:"<<endl; cin>>a>>sss>>b; if(sss!="/") { input(); } else { set(a,b); }}void CFraction::simplify(){ int s,q; if(nume>deno) { for(int i=deno;i>0;i--) { s=deno%i; q=nume%i; if(s==0&&q==0) { cout<<"("<<nume/i<<"/"<<deno/i<<")"<<endl; break; } } } else { if(nume<deno) { for(int i=nume;i>0;i--) { s=deno%i; q=nume%i; if(s==0&&q==0) { cout<<"("<<nume/i<<"/"<<deno/i<<")"<<endl; break; } } } }}void CFraction::amplify(int n){ nume=nume*n; 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) { simplify1(); } else { cout<<nume<<"/"<<deno<<endl; }}int main(){ CFraction t1; t1.input(); t1.output(0); t1.output(1); t1.output(2); t1.output(3); cout<<"请输入要乘的倍数!"<<endl; int n; cin>>n; t1.amplify(n); return 0;}
感悟
有类在手,天下我有!
0 0
- 分数类
- 分数类
- 分数类
- 分数类。。
- 分数类
- 分数类
- 分数类
- 分数类
- 分数类
- 分数类
- 分数类
- 分数类
- 分数类
- 分数类
- 简单分数类
- 分数类的加减乘除
- C++实现:分数类
- 自定义分数类
- 影子里的世界
- 这就是清小说!
- android布局LinearLayout的使用
- 9.1 概览
- java中如何打war包
- 分数类
- 跨越终端中多个vim实例访问剪切板内容
- WebService大讲堂之Axis2(3):使用services.xml文件发布WebServic
- hibernate和ibatis区别
- linux下tomcat的安装
- Ruby对数组,散列表,字符串,数字的操作
- 关于网易
- KVO/KVC
- webbench 压力测试数据记录