prev

PROGRAM SIXTEEN
Write a program, using procedures which accept value parameters, to implement the calculator program as derived in program fifteen. Each procedure will print out its own result. No global variables must be used.


	program PROG16 (input,output);

	procedure MULTIPLY (var number1, number2 : real );
	var result : real;
	begin
	   result := number1 * number2;
	   writeln(number1:4:2,' * ',number2:4:2,' is ',result:5:2)
	end;

	procedure DIVIDE (var number1, number2 : real );
	var result : real;
	begin
	   result := number1 / number2;
	   writeln(number1:4:2,' / ',number2:4:2,' is ',result:5:2)
	end;

	procedure ADD (var number1, number2 : real );
	var result : real;
	begin
	   result := number1 + number2;
	   writeln(number1:4:2,' + ',number2:4:2,' is ',result:5:2)
	end;

	procedure SUBTRACT (var number1, number2 : real );
	var result : real;
	begin
	   result := number1 - number2;
	   writeln(number1:4:2,' - ',number2:4:2,' is ',result:5:2)
	end;

	var  invalid_operator : boolean;
	     operator : char;
	     number1, number2, result : real;
	begin
	     invalid_operator := FALSE;
	     writeln('Enter two numbers and an operator in the format');
	     writeln(' number1 operator number2');
	     readln(number1); readln(operator); readln(number2);
	     case operator of
	             '*': MULTIPLY ( number1, number2 );
	             '/': DIVIDE ( number1, number2 );
	             '+': ADD ( number1, number2 );
	             '-': SUBTRACT ( number1, number2 )
	     otherwise invalid_operator := TRUE
	     end;
	     if invalid_operator then
	        writeln('Invalid operator')
	end.


Copyright B Brown/P Henry, 1988-1999. All rights reserved.
prev