// CliMenuEmprestimo.cpp 
// Cliente da classe cEmprestimo
// 11 de Outubro de 2001


#include "emprestimo.h"
#include <iostream.h>

enum { PEDIR_EMPRESTIMO = 1, PAGAR_PRESTACAO , AMORTIZAR , ALTERAR_TAXA_JURO , TERMINAR };

void ClearScreen();
void LerEmprestimo( cEmprestimo &Emprestimo );
void EscreverEmprestimo( cEmprestimo Emprestimo );


void main()
{  	
  int Opcao;
  bool EmprestimoContraido = false;
  double ValorAmortizacao, NovaTaxaJuro;

  cEmprestimo Emp;

  
  
  do 
  {
	ClearScreen();
	
	if ( EmprestimoContraido )
		EscreverEmprestimo( Emp );
	else
		cout << "Emprestimo nao contraido";
	

	cout << endl << endl ;
	cout << "1. Pedir emprestimo" << endl ;
	cout << "2. Pagar Prestacao" << endl ;
	cout << "3. Amortizar" << endl;
	cout << "4. Alterar a taxa de juro " << endl ;
	cout << "5. Terminar  " << endl;
	cout << endl << endl ;

	cout << "\tEscolha opcao : ";
	cin >> Opcao ;
	cout << endl << endl ;
	
	if ( ( ( Opcao == PAGAR_PRESTACAO ) ||  ( Opcao == AMORTIZAR ) || ( Opcao == ALTERAR_TAXA_JURO ) )
		 && !EmprestimoContraido )  continue;

	switch ( Opcao )
	{		
	 
	 case PEDIR_EMPRESTIMO :
			LerEmprestimo( Emp );
			EmprestimoContraido = true;
			break;
	 case PAGAR_PRESTACAO:
				Emp.PagarPrestacao();
			break;
	 case AMORTIZAR:
			cout << "Indique o valor da amortizacao : ";
			cin >> ValorAmortizacao ;
			Emp.Amortizar( ValorAmortizacao );		
			break;
	 case ALTERAR_TAXA_JURO:
			cout << "Indique a nova taxa de juro : ";
			cin >> NovaTaxaJuro ;
			Emp.SetTaxaJuro ( NovaTaxaJuro );
			break;
	 
	}
	
	
	//cin.ignore();
	//cin.get();

  } while ( Opcao != TERMINAR );


}

void EscreverEmprestimo( cEmprestimo Emprestimo )
{
  cout << "Dados do emprestimo : " << endl;
  cout << "\t Capital em Divida = " << Emprestimo.GetCapitalDivida() << endl;
  cout << "\t Taxa de Juro Anual = " << Emprestimo.GetTaxaJuro() << endl;
  cout << "\t Nr Prestacoes que faltam = " << Emprestimo.GetNrPrestacoes()  << endl;	
  cout << "\t Prestacao = " << Emprestimo.Prestacao() << endl;

}

void LerEmprestimo( cEmprestimo &Emprestimo )
{

	double Capital, TaxaJuro;
	int NrAnos;

	cout << "Introduza os dados do emprestimo : " << endl;
	cout << "Capital : " ; cin >> Capital;
	cout << "Taxa de Juro : "; cin >> TaxaJuro;
	cout << "Nr de anos : "; cin >> NrAnos;
	cout << endl;

	Emprestimo = cEmprestimo(TaxaJuro, NrAnos*12, Capital );

}

void ClearScreen()
{
	int i;
	for ( i=0; i<24; i++ ) cout << endl;
}

