第五周(项目二)——分数类的雏形。
来源:互联网 发布:刘梦溪 知乎 编辑:程序博客网 时间:2024/06/05 09:43
/**烟台大学计算机学院学生*All right reserved.*文件名称*烟台大学计算机学院学生*All right reserved.*文件名称:分数类的雏形*作者:王洪海*完成日期:2013年3月30日*版本号:v1.0*对任务及求解方法的描述部分:分数类的雏形*我的程序:*/#include<iostream>#include<cstdlib>using namespace std;class CFraction{private: int nume; // 分子 int deno; // 分母public: 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(); //输出:以8/6为例,style为0时,原样输出8/6;void jia(int state=1);};int main() { int num,m,d; CFraction t; t.input(); while(1) { cout<<"请输入您的选择:"<<endl; cout<<"1.原样输出. 2.化简后输出."<<endl; cout<<"3.扩大N倍后输出. 4.以假分数(输入1),小数形式(输入2)输出"<<endl; cout<<"0.退出."<<endl; cin>>m; switch(m) { case 0: exit(0); case 1: t.output(); break; case 2: t.simplify(); t.output(); break;case 3: cout<<"请输入扩大倍数:"<<endl; cin>>num; t.amplify(num); t.output(); break; case 4:cout<<"请重新输入1或2代表假分数和小数"<<endl;cin>>d;if(d==1) t.jia(d);else t.jia(d); break; default: cout<<"输入有误,请重新输入:"<<endl; cin>>m; } } return 0;}void CFraction::set(int nu,int de){nume=nu;deno=de;}void CFraction::input(){ cout<<"请输入分数(2/5)"<<endl;int a,b;char c;while(1){cin>>a>>c>>b;if(c!='/')cout<<"输入有误,请重新输入:"<<endl;elsebreak;}set(a,b);}void CFraction::simplify(){int i;int p;if(nume>deno)p=deno;elsep=nume;for(i=2;i<=p;i++){if(nume%i==0&&deno%i==0){nume/=i;deno/=i;}}}void CFraction::amplify(int n){nume*=n;}void CFraction::output(){cout<<"按照要求处理后"<<nume<<"/"<<deno<<endl;}void CFraction::jia(int state){ int num1;double a;if(state==1){num1=nume/deno;nume=nume-num1*deno;cout<<"假分数是:"<<num1<<"("<<nume<<"/"<<deno<<")"<<endl;}if(state==2){a=double(nume)/double(deno);cout<<nume<<"/"<<deno<<"变成小数是:"<<a<<endl;}}
运行结果,如下图:
0 0
- 第五周(项目二)——分数类的雏形。
- 第五周项目二-分数雏形
- 第五周——分数类的雏形
- 第五周上机实践项目——分数类的雏形
- 第四周项目二——分数类的雏形
- 第四周项目二——分数类的雏形
- 第四周项目二——分数类的雏形
- 第五周项目2-分数类的雏形
- 第五周 项目2 分数类的雏形
- **第二学期第五周项目2--分数类的雏形
- 第五周项目2-分数类的雏形
- 第五周项目22-分数类的雏形
- 第五周 22 分数类的雏形
- 2014-项目二-分数类的雏形
- 第三周项目2——分数类的雏形
- 第六周项目1——分数类的雏形
- 第6周项目1—分数类的雏形
- 第六周项目1—分数类的雏形
- 父类引用指向子类对象
- 黑马程序员---Java高新技术学习笔记-2
- (转)NSNotification、delegate和KVO的区别
- scrollBar的使用及对话框的标准滚动的使用
- 线程、线程句柄、线程ID的关系
- 第五周(项目二)——分数类的雏形。
- eclipse-以指定颜色高亮显示选中关键字
- 黑马程序员---Java高新技术学习笔记-3
- 第三章 DispatcherServlet详解 ——跟开涛学SpringMVC
- OFBiz entity engine中的设计模式总结
- 链表:基本例程的实现
- linux网络编程六:利用dup模拟实现一个基本的CGI服务器
- ‘1’==1和‘1’===1的区别
- 黑马程序员------第1天笔记