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

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Close Search Window