补2
来源:互联网 发布:wait的用法java 编辑:程序博客网 时间:2024/05/01 22:58
一、问题及代码
- /*
- * 文件名称:Ex1-1.cpp
- * 作 者:周玉杰
- * 完成日期:2017 年5 月 7日
- * 版 本 号: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;
cout << nu << "/" << de << endl;
}
int main()
{
cout << "原样:" << endl;
CFraction(0, 1);
CFraction number;
int x, y;
cout << "输入两个数:" << endl;
cin >> x >> y;
number.set(x,y);
number.input();
cout << "化简形式:" << endl;
number.simplify();
cout << "其他形式,输入1或2,3:" << endl;
int j;
cin >> j;
number.output(j);
cout << "放大n倍:" << endl;
int n;
cin >> n;
number.amplify(n);
}
void CFraction::output(int style )
{
if (style == 0)
{
cout << nume << "/" << deno << endl;
}
else if(style==1)
{
cout << nume << "/" << deno << endl;
}
else if (style == 2)
{
cout << "带分数形式:" << endl;
int x = nume%deno;
nume = nume - x*deno;
cout << x << nume << "/" << deno << endl;
}
else if (style = 3)
{
cout << (1.0*nume) / (1.0*deno) << endl;
}
}
void CFraction::simplify()
{
int j;
int min = (nume >= deno) ? deno : nume;
for (int i = 1; i <= min; i++)
{
if (nume%i == 0 && deno%i == 0)
{
j = i;
}
}
nume = nume / j;
deno = deno / j;
cout << nume << "/" << deno << endl;
}
void CFraction::amplify(int n)
{
nume = nume*n;
cout << nume << "/" << deno << endl;
}
void CFraction::input()
{
char a;
cout << "请以n/m的形式输入:" << endl;
cin >> nume >> a >> deno;
while (a != '/')
{
cout << "输入有误." << endl;
cin >> nume >> a >> deno;
}
}
void CFraction::set(int nu, int de)
{
cout << "改变:" << endl;
cout << nu << "/" << de << endl;
}
二、运行结果
0 0
- 补2
- 补2
- 补2
- 自动补全2
- vlc补2
- 补实验2
- 作业补做2
- 补C++ 2
- 补c++作业2
- 补做作业2
- 5-5 补2
- 补作业2
- 补作2
- 补做2
- 补2,实验5.5
- 补
- 补
- 补
- Centos7命令行下安装和配置Apache服务器
- MQ发送定时消息
- 十五个Web狗的CTF出题套路
- python-字符串
- MyFlag Step2:APP雏形的展现以及相关规范
- 补2
- leetcode-2. Add Two Numbers
- JavaScript的关于Array的方法介绍
- 小游戏
- 基于集合关系对求解闰年数的算法优化
- iOS如何上传代码到github
- sourceInsight相关
- ROS(indigo)RRT路径规划
- Dom4j读取xml,初始化数据字典