/* Programa    primeiro04.cc  
	Assunto:   Tutorial sobre cálculos aritméticos.
	Condicionantes:
      g++ -Wall -oprog primeiro04.cc
	Programa sem erros, mas com um problema: uso duplo de cin.get()
			ver (50) (51)

	Descrição:  Pede um valor para  t  e escreve o valor de (3t + 4, 3 - 2t)

	palavras chave: entrada de dados, cin, atribuição variável do tipo int
	palavras chave: atribuição variável do tipo int
	palavras chave: limpa a tela, leitura de números
   palavras chave: recebe enter para continuar cin.get(); cin.get()
   por Tarcisio Praciano Pereira - 10 licoes para aprender C++
   Sobral, Abril de 2005	- UeVA    	      		
*/

#include <iostream>
using namespace std; // a evitar - polui o espaÃ§o de nomes 


int main()
{
	int t=-1; // (10) uma variável do tipo inteiro
   cout  << "\t Este programa pede que você escolha um valor para"<< endl
         << "e calcula as coordenadas dos pontos sobre uma reta cujas"<< endl
         << "equações paramétricas são "<< endl
         << "\t \t  (3t + 4, 3 - 2t)  "<< endl; //(20)  	
   cout	<< "Me dê um valor para t = "; //  (21)
	cin   >>  t; // 
   cout  << "t = " << t << " (3t + 4, 3 - 2t) = " 
						<< "(" << 3*t + 4 << "," << 3 - 2*t << ")" << endl;// (20)
   cout  << "Me dê outro  valor para t = ";  //  (21)
   cin   >>  t; // 
   cout  << "t = " << t << " (3t + 4, 3 - 2t) = " 
                  << "(" << 3*t + 4 << "," << 3 - 2*t << ")" << endl;// (20)
   cout  << "Me dê ainda outro  valor para t = ";  //  (21)
   cin   >>  t; // 
   cout  << "t = " << t << " (3t + 4, 3 - 2t) = " 
                  << "(" << 3*t + 4 << "," << 3 - 2*t << ")" << endl;// (20)  	
   cout  << "\t Eu imprimi três pontos de uma reta. Se eu tivesse  " << endl
         << "guardado os dados em uma variável, eu poderia provar " << endl
         << "que estes três pontos ficam sobre uma reta." << endl;
         << "\t Aperte uma tecla qualquer para terminar o programa." << endl
			<< "\t Eu vou deixar a tela limpa quando sair. "<< endl;
	cin.get(); // (50)
   cin.get(); // (50) (51)

	//system("clear"); // limpa a tela com um comando do sh
	return(0);
}


/* Comentários:  A numeração dos comentários não
		  é continuada, pode dar saltos...para
		  facilitar a reutilização de programas.

(10) 	Toda vez precisarmos de uma variável temos que declará-la
		no início do programa (C++ permite declarar em outros 
		locais, mas você deve evitar de aprender esta desorganização.,,
		Aqui defini uma variável do tipo inteiro:  int 
		Outra formas de fazê-lo
		int t = 0;    definindo e escolhendo um valor inicial
		int t(0);	definindo e escolhendo um valor inicial

(20)  Quando C++ eoncontrar ;  ele considera a sentença terminada.
		Esta sentença contem vários acessos ao objeto "cout",
		exatamente 8 acessos.

(21)  Terminei a sentença, mas não quero mudança de linha neste ponto.

(30)  Fiz um acesso ao objeto cin que atribue valores a variáveis.
		Para fazer o mesmo com variáveis do tipo string é preciso
		usar um outro objeto. Faça
				grep chave 
		para encontrar um programa que faça este tipo de atribução
		como exemplo.

(50)  Acesso ao método   get() de cin para fazer uma leitura de
		coisa nenhuma - somente para parar o programa.
(51)  Aqui é preciso fazer duas leituras porque usei cin para
		receber dados e ficaram dados no buffer de leitura
		Na primeira chamada o buffer é limpo, na segunda chamada
		faz a leitura do teclado (recebe o enter)

*/

