Ir para conteúdo
Fórum Script Brasil
  • 0

Ajuda com Pascal (problema com variavel global)


lucas.rogerio

Pergunta

Olá, preciso fazer uma calculadora basica sem usar variaveis globais, mas não sei como eu poderia fazer isso. Alguém poderia me ajudar?

program calc;

uses crt; 

var 
	numero1 : real;
	numero2 : real; 
	operacao : char; 
	resposta : char; 

begin
	clrscr(); 
	writeln('Programa da Calculadora Simples');
	

	repeat
	
		writeln();
		writeln('Como usar o programa:');
		writeln('1. Insira um numero e aperte a tecla ENTER');
		writeln('2. Escolha uma operacao e aperte a tecla ENTER');
		writeln('3. Insira outro numero e aperte a tecla ENTER');
		writeln('4. Informe se quer continuar fazendo calculos com o resultado dessa operacao');
		writeln('Insira s para "sim" ou n para "não", e aperte a tecla ENTER');
		writeln('5. Caso não queira, informe se quer continuar usando a calculadora');
		writeln('Insira s para "sim" ou n para "não", e aperte a tecla ENTER');
		writeln(); 
		writeln('Numeros com parte fracionaria devem ser separados com um ponto.');
		writeln('Exemplo: 4.5 (certo) | 2,3 (errado)');
		writeln(); 
		writeln('Opcoes:');
		writeln('+ Adicao');
		writeln('- Subtracao');
		writeln('* Multiplicacao');
		writeln('/ Divisao');
		writeln(); 
	
		write('Escolha o primeiro numero: ');
		readln(numero1); 
				
		repeat
			write('Escolha a operacao desejada: ');
			readln(operacao);

			case operacao of 
	
				'+':
					begin
						write('Escolha o segundo numero: ');
						readln(numero2);
						numero1 := numero1 + numero2;
					end; 
				
				'-': 
					begin
						write('Escolha o segundo numero: ');
						readln(numero2); 
						numero1 := numero1 - numero2; 
					end;
		
				'*':
					begin
						write('Escolha o segundo numero: ');
						readln(numero2); 
						numero1 := numero1 * numero2;
					end; 
		
				'/': 
					begin
						repeat
							write('Escolha o denominador: ');
							readln(numero2); 
							if numero2 = 0 then writeln('O valor do denominador não pode ser 0.');
						until numero2 <> 0; 
						numero1 := numero1 / numero2;
					end; 
			end;

			writeln('Resultado: ', numero1:5:5);
			
			repeat

				write('Deseja continuar usando esse resultado? (s/n) ');
				readln(resposta);

				if (resposta <> 'n') then
					if (resposta <> 's') then writeln('Reposta invalida. Responda s para sim ou n para não.');

			until (resposta = 'n') or (resposta = 's'); 
	
		until (resposta = 'n');
		
		clrscr();

		repeat

			write('Deseja continuar usando a calculadora? (s/n) ');
			readln(resposta);

			if (resposta <> 'n') then
				if (resposta <> 's') then writeln('Reposta invalida. Responda s para sim ou n para não.');

		until (resposta = 'n') or (resposta = 's');

	until (resposta = 'n');

	writeln('Obrigado por utilizar o Programa da Calculadora Simples!');
end. 
Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...