第五周上机任务2
来源:互联网 发布:淘宝达人的网址多少 编辑:程序博客网 时间:2024/05/22 00:24
/* (程序头部注释开始)* 程序的版权和版本声明部分* Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved.* 文件名称:练习.cpp * 作 者:宋本一 * 完成日期:2012 年 3 月 24 日* 版 本 号:v5.2 * 对任务及求解方法的描述部分* 输入描述: * 问题描述: * 程序输出: * 程序头部的注释结束*/#include<iostream>using namespace std;class CFraction {private: int nume; // 分子 int deno;// 分母 //int i; public: CFraction(int nu=0,int de=1):deno(de),nume(nu){}; //构造函数,初始化用 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),表示一又三分之一; //不给出参数和非1、2,认为是方式0 }; void CFraction::input() { char c1; cout <<"请输入一个分数(格式nu/de):"; while(1) { cin >> nume >> c1 >> deno; if ( c1 !='/' ) { cout << "输入格式不正确,请重新输入!"; } else break; } } void CFraction::Simplify(){ int i; if( deno < nume ) i = deno; else i = nume; for( ; i > 0; --i) { if ( nume % i == 0 && deno % i == 0 ) { nume = nume/i; deno = deno/i; break; } } } void CFraction::amplify(int n){ nume = 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: cout<<nume/deno<< "(" << nume%deno<<"/"<<deno<<")"<<endl;break; } } int main() { CFraction CF; CF.input(); CF.output(); CF.amplify(2); CF.Simplify(); CF.output(); CF.output(1); CF.output(2); system("PAUSE"); return 0;}
运行结果:
- 第五周上机任务2
- 第五周上机任务2
- 第五周上机任务
- 第五周上机任务项目 2
- 第五周上机任务1
- 第五周上机任务3
- 第五周上机任务4
- 第五周上机任务1
- java上机 第五周 任务2 创建一个梯形类
- 第五周上机任务项目2-分数类
- 2013第五周上机任务【项目2 分数类】
- 第五周上机任务项目4
- 第五周上机任务项目一 长方体
- C#上机 第五周 任务1和任务2 出现次数和逆序
- 第五次上机实验任务
- 第五次上机实验任务
- 第五周上机任务---设计三角形类,增加构造函数--第二版V1.2
- 第五周上机任务项目1-(2,3默认参数构造函数)
- 最棒的 10 款 jQuery 日历插件
- -java jdk1.5新特性
- 程序性能优化
- 教你如何迅速秒杀掉:99%的海量数据处理面试题
- Android 关闭与当前应用相关的进程、服务
- 第五周上机任务2
- 今天去面试
- 静态方法
- oracle部门员工表关系查询
- 使用OpneWRT中的工具链编译软件包
- Visual Studio常用快捷键
- BOJ 394
- linux 进程之间的比较和选择场合
- void及void指针