第五周任务二

原创 2012年03月22日 20:09:18

/* (程序头部注释开始)
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称:                             
* 作    者: 李超                            
* 完成日期:     2012    年  3     月  22      日
* 版 本 号:        01.05.02 

* 对任务及求解方法的描述部分
* 输入描述:输入分数
* 问题描述:将分数化简或将分子、分母同时扩大n倍

* 程序输出: 按要求输出分子的不同形态
* 程序头部的注释结束
*/头文件head.h:

#include<iostream>

using namespace std;

class CFraction
{private:
	int nume;  // 分子
	int deno;  // 分母
	int yue;   //最大公约数
 public:
	CFraction(int nu=0,int de=1);   //构造函数,初始化用
	void Set(int nu,int de);    //置值,改变值时用
	void input();				//按照"nu/de"的格式,如"5/2"的形式输入
	void Simplify();			//化简(使分子分母没有公因子)
	void amplify(int n);			//放大n倍,如2/3放大5倍为10/3
	void output(int style);		//输出:以8/6为例,style为0时,输出8/6;
							//style为1时,输出4/3;
							//style为2时,输出1(1/3),表示一又三分之一;
							//不给出参数和非1、2,认为是方式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()	//按照"nu/de"的格式,如"5/2"的形式输入
{
	char a;

	int nu, de;

	cout <<"按照nu/de的格式,如5/2的形式输入" <<endl;

	cin >>nu >>a >>de;

	nume = nu;
	deno = de;
}

void CFraction::Simplify()			//化简(使分子分母没有公因子)
{
	int nu = nume, de = deno,temp, a;

	if(nu > de)
	{
		temp = nu;
		nu = de;
		de= temp;
	}

	while(nu != 0)
	{
		a = de % nu;
		de = nu;
		nu = a;
	}

	yue = de;
	deno = deno / de;
	nume = nume / de; 
}

	
void CFraction::amplify(int n)			//放大n倍,如2/3放大5倍为10/3
{
	deno *= n;
	nume *= n;
	cout <<nume <<'/' <<deno <<endl;
}

void CFraction::output(int style=0)		
{	
	switch(style)                           //不给出参数和非1、2,认为是方式0
	{
	case 0:                                //输出:以8/6为例,style为0时,输出8/6;
		cout <<nume * yue <<'/' <<deno * yue <<endl;
        break;

	case 1:                                      //style为1时,输出4/3;
		cout <<nume <<'/' <<deno <<endl;
		break; 

	case 2:
		cout <<nume / deno <<'(' <<nume % deno <<')' <<deno <<endl; //style为2时,输出1(1/3),表示一又三分之一;
		break;
	}
	
	                                       
}		                                    


主函数main.cpp:

#include"head.h"
#include<iostream>

using namespace std;

void main()
{
	CFraction C1(9, 6);
	C1.Simplify ();
	C1.output (0);
	C1.output (1);
	C1.output (2);
    C1.amplify (4);

	CFraction C2;
	C2.input ();
	C2.Simplify ();
	C2.output (0);
	C2.output (1);
	C2.output (2);
    C2.amplify (3);

	CFraction C3;
	C3.Set (8, 2);
	C3.Simplify ();
	C3.output (0);
	C3.output (1);
	C3.output (2);
    C3.amplify (4);


	system("PAUSE");
}


switch语句不常用,都快忘了

有不足的地方,欢迎大家批评

machine-learning第五周 上机作业

毫无疑问,难度越来越大了,首先我们得复习相关概念: 1、导数(变化率)与微分 (变化量) 2、数学里的 e 为什么叫做自然底数? 3、女神的文章必不可少 剩下的必须慢慢啃了。总之,本章要完全理解我觉得...
  • dialoal
  • dialoal
  • 2016年01月22日 15:32
  • 1666

Coursera—machine learning(Andrew Ng)第五周编程作业

sigmoidGradient.m function g = sigmoidGradient(z) %SIGMOIDGRADIENT returns the gradient of the si...
  • ccblogger
  • ccblogger
  • 2017年11月13日 16:25
  • 471

机器学习第5周!

教辅说这周的作业是史上最难
  • Clifnich
  • Clifnich
  • 2016年09月05日 17:47
  • 748

coursera机器学习课程第五周——课程笔记

第五周课程学习结束,一直都是边上课边做笔记,没有想过在这里再梳理一遍然后将笔记整理出来,考虑之后觉得这一步很重要,可以借此对学过的这一周所有知识做一个梳理,方便自己更好的理解这些知识,而且这些笔记放在...
  • ccblogger
  • ccblogger
  • 2017年11月13日 18:29
  • 191

AndrewNg机器学习第五周-神经网络的学习 Neural Networks learning

转自:http://www.cnblogs.com/python27/p/MachineLearningWeek05.html 这一章可能是Andrew Ng讲得最不清楚的一章,为什么这么说呢?这一...
  • csd54496
  • csd54496
  • 2016年11月04日 20:39
  • 711

第五周任务二

完成下面类的设计,并在main()函数中自行定义对象,调用各成员函数,完成基本的测试。 #include using namespace std; class CFraction {...
  • ErOyL
  • ErOyL
  • 2012年03月20日 13:36
  • 470

第五周 任务二

/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生  * All rights reserved. * 文件名称:  ...
  • liuxiangyi887
  • liuxiangyi887
  • 2012年03月20日 20:43
  • 210

第五周任务(二)

* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 *文件名称: 简单的分数类 * 作 者: 齐艳红 * 完成日期:...
  • cailwen
  • cailwen
  • 2012年03月20日 17:56
  • 604

第五周 任务二

/*【任务2】C++中提供了多种基本的数据类型。实际上,这些远不能满足我们的需求,如复数(第10章的例子大多是处理虚数的),再如分数。本任务将设计一个简单的分数类,完成对分数的几个运算。一则巩固基于对...
  • xgcfxl2011
  • xgcfxl2011
  • 2012年03月19日 18:18
  • 280

吴恩达机器学习笔记_第五周

神经网络——模型学习   Cost Function:从逻辑回归推广过来 计算最小值,无论用什么方法,都需要计算代价和偏导。   网络结构的前向传播和可向量化的特点:   BP算...
  • hunterlew
  • hunterlew
  • 2016年05月15日 11:43
  • 2446
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:第五周任务二
举报原因:
原因补充:

(最多只允许输入30个字)