Program CALCULADORA;
uses
crt;
var
OPCAO: char;
X, A, B: real;
PROCEDURE ENTRADA;
begin
gotoxy(5,6); write('Entre com um valor para A: '); readln(A);
gotoxy(5,7); write('Entre com um valor para B: '); readln(B);
end;
function CALCULO (R, T: REAL; OPERADOR: char):real;
begin
Case OPERADOR of
'+' : CALCULO :=R+T;
'-' : CALCULO :=R-T;
'*' : CALCULO :=R*T;
'/' : CALCULO :=R/T;
END;
end;
Procedure SAIDA;
VAR
TECLA: char;
begin
gotoxy(5,10); write('O resultado equivale a ', X:5:2);
gotoxy(25,24); writeln('Tecle algo para voltar ao menu');
TECLA:= readkey;
end;
procedure ROT_ADICAO;
begin
clrscr;
gotoxy(32, 1); write('Rotina de Adicao');
ENTRADA;
x:= Calculo(A, B, '+');
SAIDA;
end;
procedure ROT_SUBTRACAO;
begin
clrscr;
gotoxy(30, 1); write('Rotina de Subtração');
ENTRADA;
x:= Calculo(A, B, '-');
SAIDA;
end;
procedure ROT_MULTIPLICACAO;
begin
clrscr;
gotoxy(28, 1); write('Rotina de Subtração');
ENTRADA;
x:= Calculo(A, B, '*');
SAIDA;
end;
procedure ROT_DIVISAO;
begin
clrscr;
gotoxy(32, 1); write('Rotina de Subtração');
ENTRADA;
x:= Calculo(A, B, '/');
SAIDA;
end;
{ P R I N C I P A L }
BEGIN
OPCAO:='0';
while (OPCAO '5') do begin
clrscr;
gotoxy(33, 1); write('Menu principal');
gotoxy(28, 6); write('1.....................Soma');
gotoxy(28, 8); write('2............Subtracao');
gotoxy(28, 10); write('3......Multiplicacao');
gotoxy(28, 12); write('4................Divisao');
gotoxy(28, 14); write('5..Fim do programa');
gotoxy(28, 18); write('Escolha uma opcao ..........: ');
readln(OPCAO);
IF (OPCAO '5') THEN
case OPCAO OF
'1': ROT_ADICAO;
'2': ROT_SUBTRACAO;
'3': ROT_MULTIPLICACAO;
'4': ROT_DIVISAO;
eLSE
gotoxy(27, 25); writeln('Opcao invalida - tecle algo');
OPCAO := readkey;
end;
end;
END.
Este artigo foi útil ?
SimNão
Last modified: 13 de novembro de 2007