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.
Pergunta
lucas.rogerio
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
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.