第四周上机实践项目2——分数类的雏形
来源:互联网 发布:led视频制作软件 编辑:程序博客网 时间:2024/06/13 09:51
问题及代码
/* * Copyright (c) 2015, 烟台大学计算机学院 * All rights reserved. * 文件名称:test.cpp * 作 者:辛彬 * 完成日期:2015 年 3 月 29 日 * 版 本 号:v1.0 * * 问题描述:设计一个简单的分数类,完成对分数的几个运算。 * 输入描述:没有。 * 程序输出:分数。 */#include<iostream>#include<cstdlib>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){ if(de!=0) { nume=nu; deno=de; } else { cout<<"初始化失败!"<<endl<<endl; exit(0); }}void CFraction::set(int nu,int de){ if(de!=0) { nume=nu; deno=de; }}void CFraction::input(){ int nu,de; char e; cin>>nu>>e>>de; if(de!=0) { nu=nume; de=deno; }}void CFraction::simplify(){ int i=nume; if(deno<nume) i=deno; for(; nume%i!=0||deno%i!=0; i--); nume=nume/i; deno=deno/i;}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(); cout<<"简化形式:"<<nume<<"/"<<deno<<endl; } else if(style==2) cout<<"带分数形式:"<<nume/deno<<"("<<nume-(nume/deno)<<"/"<<deno<<")"<<endl; else if(style==3) cout<<"小数形式:"<<double(nume)/double(deno)<<endl;}int main(){ CFraction c1(6,8),c2; cout<<"c1的"; c1.output(0); c1.simplify(); c1.output(1); cout<<"将c1放大5倍,得"; c1.amplify(5); c2.set(3,15); cout<<"c2的"; c2.output(0); c2.output(1); c2.output(2); c2.output(3); return 0;}
运行结果:
0 0
- 第四周上机实践项目2-分数类的雏形
- 第四周上机实践项目2——分数类的雏形
- 第四周上机项目2分数类的雏形
- 第四周上机项目2 分数类的雏形
- 第四周 课后实践:项目二——分数类的雏形
- 第四周项目二——分数类的雏形
- 第四周项目二——分数类的雏形
- 第四周项目二——分数类的雏形
- 第四周项目2 分数的雏形
- 第四周 项目2-分数类雏形
- 第四周 项目2-分数类的雏形(2)
- 15第四周项目二——分数的雏形
- 第四周项目2 分数类的雏形
- 第四周 【项目2-分数类的雏形】
- 第四周 项目2-分数类的雏形(1)
- 第四周项目2-分数类的雏形
- 第四周项目2-分数类的雏形
- 第四周【项目2-分数类的雏形】
- LightOJ 1009第一个种类并查集
- 2015NCHU第一届ACM新生选拔赛H题题解
- 第三周项目5数组作数据成员
- Spring AOP 的实现原理----动态代理
- C#(一)——堆和栈
- 第四周上机实践项目2——分数类的雏形
- 字符串匹配-KMP算法
- Struts2中内存溢出(java.lang.OutOfMemoryError)异常错误介绍和解决方法
- 2015NCHU第一届ACM新生选拔赛I题题解
- 数据库连接问题——未找到或无法访问服务器
- 三层学习之初体验
- kruskal 【MST】
- js date 时间初始化
- CSS3 DIY浏览器滚动条样式