// cFraccao.cpp
// Definição da classe cFraccao
// Exercício da aula do dia 16 de Novembro de 2001 


#include "cFraccao.h"
#include <iostream.h>
#include <string.h>
#include <stdlib.h>


static int MaxDivisorComum( int n1, int n2 );
static int MinMultiploComum( int n1, int n2 );


cFraccao::cFraccao()
{
// COMPLETAR
	

}

void cFraccao::Ler()
{
	char s[15];
	char *p;

	cin >> s;

	p = strchr(s,'/');
	*p = '\0';

	Num = atoi(s);
	Den = atoi(p+1);


}

void cFraccao::Escrever()
{
	// COMPLETAR
	
	

}


bool cFraccao::Simplificar() 
{
	// COMPLETAR	




}




// Funções auxiliares

// Implementa o Algoritmo de Euclides para calcular o Máximo  Divisor Comum
int MaxDivisorComum( int n1, int n2 )
{
	int Dividendo, Divisor, Resto;

	if ( n1 > n2 )
	{
		Dividendo = n1;
		  Divisor = n2;
	}
	else
	{
		Dividendo = n2;
		  Divisor = n1;
	}

	do 
	{
		Resto = Dividendo % Divisor;
		if ( Resto != 0 ) 
		{
			Dividendo = Divisor;
			  Divisor = Resto;
		}

	} while ( Resto != 0 ); 

	return Divisor;

}


int MinMultiploComum( int n1, int n2 )
{
	return ( n1*n2 ) / MaxDivisorComum( n1, n2 );
}


