《第五周实验报告任务2》
来源:互联网 发布:itnc530模拟软件下载 编辑:程序博客网 时间:2024/05/16 19:40
/* (程序头部注释开始)
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称: 分数类
* 作 者: 刘江波
* 完成日期: 2012 年 03 月 19 日
* 版 本 号: v.03191
* 对任务及求解方法的描述部分
* 输入描述:
* 问题描述:
* 程序输出:
* 程序头部的注释结束
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称: 分数类
* 作 者: 刘江波
* 完成日期: 2012 年 03 月 19 日
* 版 本 号: v.03191
* 对任务及求解方法的描述部分
* 输入描述:
* 问题描述:
* 程序输出:
* 程序头部的注释结束
*/
#include<iostream>using namespace std;class CFraction{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/3void output(int style = 0); //输出:以8/6为例,style为0时,输出8/6;//style为1时,输出4/3; //style为2时,输出1(1/3),表示一又三分之一; //不给出参数和非1、2,认为是方式0private:int nume;//分子int deno;//分母int gcd(int , int );//求公因数};CFraction::CFraction(int nu, int de):nume(nu),deno(de){ }int main(){CFraction cf;cf.input();cout<<"输入的值为:"; cf.output(0);cout << "化简后的值是:" << endl;cf.Simplify() ;cf.output(1);cf.output(2);cout << "再扩大七倍后是:" << endl;cf.amplify(7);cf.output(0);cout<<"重新制值为:"<<endl;cf.Set(11, 18);cf.Simplify() ;cf.output(0);system("PAUSE");return 0;}void CFraction::Set(int nu, int de){nume = nu;deno = de;}void CFraction::input(){char c;cout << "输入分数:(格式:nu/de)" << endl;while(1) { cin >> nume >> c >> deno; if(c != '/') { cout << "格式不正确,请重新输入!" << endl; } else { break; } } }void CFraction::Simplify(){nume = nume / gcd(nume, deno);deno = deno / gcd(nume, deno);}int CFraction::gcd(int nu, int de) { int t, r, a, b; a = nu;b = de; if (a < b) { t = a; a = b; b = t; } while (b != 0) { r = a % b; a = b; b = r; } return a; }void CFraction::amplify(int n){nume *= n;} void CFraction::output(int style){switch(style){case(0):cout << nume << "/" << deno << endl;break;case(1):Simplify();cout << nume << "/" << deno << endl;break;case(2):Simplify();if(nume > deno){int add;add = nume / deno;if(nume % deno == 0){cout << add << endl;}else{cout << add << "(" << nume % deno << "/" << deno << ")" << endl;}}break;default:cout << nume << "/" << deno << endl;break;}}
- 《第五周实验报告任务2》
- 第五周实验报告(任务2)
- 第五周实验报告 任务2
- 第五周实验报告任务1-1
- 第五周实验报告 任务一
- 《第五周实验报告任务1》
- 第五周实验报告 任务二
- 第五周实验报告(任务1)
- 第五周实验报告 任务三
- 《第五周实验报告任务4》
- 第五周实验报告任务4
- 第五周实验报告(任务1)
- 第五周实验报告(任务3)
- 第五周实验报告(任务4)
- 第五周实验报告 任务3
- 第五周实验报告 任务4
- 第五周实验报告任务4
- 《第五周实验报告任务3》
- 程序员面试题精选100题(38)-输出1到最大的N位数[算法]
- 代码--神奇的城市(模拟省份下自动调出城市)
- oracle 表结构的修改
- 各大Asp木马的万能密码
- 放大镜
- 《第五周实验报告任务2》
- 支持向量机(SVM)、支持向量回归(SVR)
- [SIR数据集实验][2]Java类数据集相应工具使用的小经验
- 委托和匿名方法的使用
- Jmeter测试restful的webservice
- 生词
- JAVA学习之抽象类和接口
- 类型转换static_cast dynamic_cast const_cast reinterpret_cast
- 道听途说:struts、hibernate、spring简单认识