(*__________________________________ |PROJETO CALCULADORA SIMPLES | |AULA DE LABORATORIO DE PROGRAMACAO| |BY COPYLEFT ALISSON OLIVEIRA | | .aka. LINUKISS | |__________________________________|*) (*Essa e mais dificil de escplicar pra quem naum entendeu a materia ate hj*) uses crt; var OPCAO: char; X, A, B: real; PROCEDURE ENTRADA; begin gotoxy(5,6); write('Digite um numero: '); readln(A); gotoxy(5,7); write('Digite outro numero: '); 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; begin gotoxy(5,10); write('O resultado equivale a ', X:5:2); gotoxy(25,24); writeln('Tecle algo para voltar ao menu'); 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.