第四周【项目2-分数类的雏形】
来源:互联网 发布:手机淘宝怎么用 编辑:程序博客网 时间:2024/05/16 12:39
问题及代码:
/* *Copyright (c) 2014,烟台大学计算机学院 *ALL right reserved *文件名:分数类的雏形 *作者;童宇 *完成日期:2015年3月31日 *版本号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() //按照"nu/de"的格式,如"5/2"的形式输入{ char a; cin>>nume>>a>>deno;}void CFraction::simplify() //化简(使分子分母没有公因子){ int a,b=nume,c=deno; while(b%c!=0) { a=b%c; b=c; c=a; } nume/=c; deno/=c;}void CFraction::amplify(int n) //放大n倍,如2/3放大5倍为10/3{ nume*=n;}void CFraction::output(int style){ int i=0,a=nume,b=deno; double j; switch(style) { case 0: cout<<nume<<"/"<<deno; break; case 1: simplify(); cout<<nume<<"/"<<deno; break; case 2: while(a>b) { a=a-b; i++; } cout<<i<<"("<<a<<"/"<<b<<")"; break; case 3: j=nume/deno; cout<<j; break; }}int main(){ CFraction c0,c1(8),c2; c0.output(); cout<<endl; c2.set(8,12); c2.output(); cout<<endl; c2.output(1); cout<<endl; c2.output(2); cout<<endl; c1.output(2); cout<<endl; c1.output(3); cout<<endl;}
运行结果:
<img src="http://img.blog.csdn.net/20150331202543912?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMTA2MDkwNg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
0 0
- 第四周项目2 分数的雏形
- 第四周 项目2-分数类雏形
- 第四周 项目2-分数类的雏形(2)
- 第四周项目2 分数类的雏形
- 第四周上机项目2分数类的雏形
- 第四周 【项目2-分数类的雏形】
- 第四周 项目2-分数类的雏形(1)
- 第四周项目2-分数类的雏形
- 第四周项目2-分数类的雏形
- 第四周【项目2-分数类的雏形】
- 第四周上机实践项目2-分数类的雏形
- 第四周项目2-分数类的雏形
- 第四周 项目2 分数类的雏形
- 第四周项目2-分数类的雏形
- 第四周项目2分数类的雏形
- 第四周上机项目2 分数类的雏形
- 第四周项目2 分数类的雏形
- 第四周 项目二 分数的雏形
- 第四周 项目3 用对象数组操作长方体类
- ruby环境sass编译中文出现Syntax error: Invalid GBK character错误解决方法
- POJ 3641 Pseudoprime numbers (快速幂、素性测试)
- C指针小结1
- 网站渗透测试原理及详细过程
- 第四周【项目2-分数类的雏形】
- Unity3D自定义按钮—OnGUI
- maven工程在eclipse中使用tomcat启动时找不到ContextLoaderListener的原因
- Android中intent传递对象和Bundle的用法
- [english]兴趣是最好的老师
- 小米1插到电脑上看不到存储卡的解决办法
- 寒風的Cocos2dx之旅之添加按钮
- 蓝桥杯 操作格子
- POJ 1995 Raising Modulo Numbers (快速幂)