PROGRAM TWELVE
Convert the following program, using appropiate case statements.

	program  PROG_TWELVE (input, output);
	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);
	         if operator = '*' then result := number1 * number2
	         else if operator = '/' then result := number1 / number2
	         else if operator = '+' then result := number1 + number2
	         else if operator = '-' then result := number1 - number2
	         else invalid_operator := TRUE;
	
	         if invalid_operator then
	            writeln('Invalid operator')
	         else
        	    writeln(number1:4:2,' ', operator,' ', number2:4:2,' is '
	                    ,result:5:2)
	end.


	Conversion of PROG_TWELVE using case operator
	program  PROG_TWELVE (input, output);          {Data General Version}
	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
	             '*': result := number1 * number2;
	             '/': result := number1 / number2;
	             '+': result := number1 + number2;
	             '-': result := number1 - number2;
	         otherwise invalid_operator := TRUE
	         end;
	         if invalid_operator then
	            writeln('Invalid operator')
	         else
	            writeln(number1:4:2,' ', operator,' ', number2:4:2,' is '
	                    ,result:5:2)
	end.
	{Note that turbo pascal does not support use of otherwise}
	{Special changes for Turbo are                           }
	
	         case operator of
	             '*': result := number1 * number2;
	             '/': result := number1 / number2;
	             '+': result := number1 + number2;
	             '-': result := number1 - number2;
	         else invalid_operator := TRUE
	         end;



Copyright B Brown/P Henry/CIT, 1988-1997. All rights reserved.