分数类的雏形
来源:互联网 发布:通联数据网站 编辑:程序博客网 时间:2024/05/21 07:43
/** Copyright (c) 2013, 烟台大学计算机学院* All rights reserved.* 作 者:张来鑫* 完成日期:2014 年 3 月30日* 版 本 号: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};int main(){ CFraction cf(8,6); cf.output(0); cf.output(1); cf.output(2); cf.output(3); cf.set(8,9); cf.output(0); cf.output(1); cf.output(2); cf.output(3); cf.amplify(5); cf.output(0); cf.output(1); cf.output(2); cf.output(3); return 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(){ char ch; cin>>nume>>ch>>deno; while(ch!='/'||deno==0) { cout<<"您输入有误,请重新输入:"; cin>>nume>>ch>>deno; }}void CFraction::simplify()//若出现这样的化简,则需在此函数内输出,如果在output中,则nume和deno还是原来的值,输出没有发生改变。{ int p,i; p=(nume<=deno?nume:deno); for(i=p; i>=1; i--) { if((nume%i==0)&&(deno%i==0)) { nume/=i; deno/=i; break; } } cout<<"化简后为:"<<nume<<"/"<<deno<<endl;}void CFraction::amplify(int n){ nume*=n;}void CFraction::output(int style){ switch(style) { case 0: cout<<"原样输出:"<<nume<<"/"<<deno<<endl; break; case 1: CFraction::simplify();//调用函数,要记得加类名。 break; case 2: if(nume>deno) { cout<<"输出另一种形式:"<<nume/deno<<"("<<nume-(nume/deno)*deno<<"/"<<deno<<")"<<endl; } break; case 3: cout<<"小数形式输出:"<<nume/double(deno)<<endl; }}
0 0
- 分数类的雏形
- 分数类的雏形
- 分数类的雏形
- 分数类的雏形
- 分数类的雏形
- 分数类的雏形
- 分数类的雏形
- 分数类的雏形
- 分数类的雏形
- 分数类的雏形
- 分数类的雏形
- 分数类的雏形
- 分数类的雏形
- 分数类的雏形
- 分数类的雏形
- 分数类的雏形
- 分数类的雏形
- 分数类的雏形
- 编辑文章 - 博客频道 - CSDN.NET
- 我的android(第二十二天)
- ++i和i++的区别
- Linux单实例进程(转)
- 二分查找最后一个小于等于和第一个大于等于某对象的数组元素位置
- 分数类的雏形
- Harris角点检测
- Python基础知识1——py /pyc/pyo
- notepad+无法输入中文解决办法
- struts2 类型转换
- ZOJ Monthly, January 2014(2014省赛练习)
- 数据库的创建,用户,及权限分配---MYSQL技术之路(一)
- 在linux下安装并操作tomcat
- hibernate中executeUpdate的缓存问题