PROGRAM 18
PROGRAM CONVERTTEMPERATURES;
{ANTHONY F. ORTIZ, ASSIGNMENT 6C, JULY 5, 1994}
{THIS PROGRAM IS A MENU DRIVEN PROGRAM THAT ALLOWS THE USER TO
CHOOSE BETWEEN DIFFERENT CONVERSION OPTIONS.}
USES CRT;
VAR
CH: CHAR;
DONE: BOOLEAN;
AMOUNT, CONVERSION: REAL;
PROCEDURE MENU;
BEGIN
WRITELN ('CHOOSE ONE OF THE OPTIONS BELOW: ');
WRITELN;
WRITELN (' A. CONVERT CENTIGRADE TO FAHRENHEIT. ');
WRITELN (' B. CONVERT FAHRENHEIT TO CENTIGRADE. ');
WRITELN (' C. QUIT. ');
WRITELN;
WRITE ('ENTER THE LETTER OF YOUR CHOICE. ');
REPEAT
READLN (CH);
UNTIL CH IN ['A'..'C', 'a'..'c'];
DONE := CH IN ['E', 'e'];
END;
PROCEDURE INPUTDATA5;
BEGIN
WRITE ('ENTER TEMPERATURE IN CENTIGRADE. ');
READLN (AMOUNT);
WRITELN;
END;
PROCEDURE INPUTDATA6;
BEGIN
WRITE ('ENTER TEMPERATURE IN FAHRENHEIT. ');
READLN (AMOUNT);
WRITELN;
END;
PROCEDURE PROCESSDATA5;
BEGIN
CONVERSION := 9 / 5 * AMOUNT + 32;
END;
PROCEDURE PROCESSDATA6;
BEGIN
CONVERSION := 5 / 9 * (AMOUNT - 32);
END;
PROCEDURE PRINTRESULTS5;
BEGIN
WRITELN (AMOUNT:1:2, ' CENTIGRADE IS EQUAL TO ', CONVERSION:1:2, ' FAHRENHEIT.');
WRITELN;
END;
PROCEDURE PRINTRESULTS6;
BEGIN
WRITELN (AMOUNT:1:2, ' FAHRENHEIT IS EQUAL TO ', CONVERSION:1:2, ' CENTIGRADE.');
WRITELN;
END;
PROCEDURE PAUSE;
BEGIN
WRITE ('PRESS ENTER TO CONTINUE. ');
READLN;
END;
PROCEDURE CONVERTCENTIGRADETOFAHRENHEIT;
BEGIN
CLRSCR;
INPUTDATA5;
PROCESSDATA5;
PRINTRESULTS5;
PAUSE;
END;
PROCEDURE CONVERTFAHRENHEITTOCENTIGRADE;
BEGIN
CLRSCR;
INPUTDATA6;
PROCESSDATA6;
PRINTRESULTS6;
PAUSE;
END;
PROCEDURE QUIT;
BEGIN
DONE := TRUE;
END;
BEGIN
REPEAT
CLRSCR;
MENU;
CASE CH OF
'A', 'a': CONVERTCENTIGRADETOFAHRENHEIT;
'B', 'b': CONVERTFAHRENHEITTOCENTIGRADE;
'C', 'c': QUIT;
END;
UNTIL DONE
END.
{ OUTFILE: PROG18.OUT }
CHOOSE ONE OF THE OPTIONS BELOW:
A. CONVERT CENTIGRADE TO FAHRENHEIT.
B. CONVERT FAHRENHEIT TO CENTIGRADE.
C. QUIT.
ENTER THE LETTER OF YOUR CHOICE. a
ENTER TEMPERATURE IN CENTIGRADE. 10
10.00 CENTIGRADE IS EQUAL TO 50.00 FAHRENHEIT.
PRESS ENTER TO CONTINUE.
BACK TO COMP151 PAGE.