分数类的雏形
来源:互联网 发布:生了二胎 才知熊猫血 编辑:程序博客网 时间:2024/04/30 10:07
/* * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名称:main.cpp * 作 者:胡庆龙 * 完成日期:2016年4月8日 * 版 本 号: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::input(){ int nu,de; char a; cin>>nu>>a>>de; if(de!=0) { nume=nu; deno=de; } else cout<<"输入有误";}void CFraction::simplify(){ int t; int a=nume,b=deno; while(b!=0) { t=a%b; a=b; b=t; } nume=nume/a; deno=deno/a;}void CFraction::set(int nu,int de){ if(de!=0) { nume=nu; deno=de; } else cout<<"置值错误";}void CFraction::amplify(int n){ nume=nume*n;}void CFraction::output(int style){ if(style==1) cout<<nume<<"/"<<deno<<endl; else if(style==2) cout<<nume/deno<<"("<<nume-(nume/deno)*deno<<"/"<<deno<<")"<<endl; else if(style==3) cout<<float(nume)/deno<<endl;}int main(){ CFraction cf; cf.set(4,6); cf.simplify(); cf.amplify(2); cf.output(1); cf.output(2); cf.output(3); return 0;}
0 0
- 分数类的雏形
- 分数类的雏形
- 分数类的雏形
- 分数类的雏形
- 分数类的雏形
- 分数类的雏形
- 分数类的雏形
- 分数类的雏形
- 分数类的雏形
- 分数类的雏形
- 分数类的雏形
- 分数类的雏形
- 分数类的雏形
- 分数类的雏形
- 分数类的雏形
- 分数类的雏形
- 分数类的雏形
- 分数类的雏形
- CentOS 7 编译安装mysql 5.7
- 01-jsonp学习
- 在java中除去字符串(String)中的换行字符(\r \n \t)
- 第七周友元函数求两点间距离
- JavaScript之数组
- 分数类的雏形
- POJ 3468 A Simple Problem with Integers 【splay树入门题】
- 【poj 2411】Mondriaan's Dream 状态压缩DP
- MyBatis 3 用户指南
- SCOI2016酱油记
- CSS3之弹性盒模型
- hdu 【2115】 C Looooops
- 第六周项目1-分数类的锥形
- jquery跨域ajax访问方法