PROGRAM 16
PROGRAM WEIGHTCONVERSION;
{ANTHONY F. ORTIZ, ASSIGNMENT 6A, JULY 5, 1994}
{THIS PROGRAM IS A MENU DRIVEN PROGRAM THAT GIVES THE USER MANY
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 OUNCES TO GRAMS.');
WRITELN (' B. CONVERT POUNDS TO KILOGRAMS. ');
WRITELN (' C. CONVERT GRAMS TO OUNCES. ');
WRITELN (' D. CONVERT KILOGRAMS TO POUNDS. ');
WRITELN (' E. QUIT.');
WRITELN;
WRITE ('ENTER THE LETTER OF YOUR CHOICE. ');
REPEAT
READLN (CH);
UNTIL CH IN ['A'..'E', 'a'..'e'];
DONE := CH IN ['E', 'e'];
END;
PROCEDURE INPUTDATA;
BEGIN
WRITE ('ENTER THE NUMBER OF OUNCES. ');
READLN (AMOUNT);
WRITELN;
END;
PROCEDURE INPUTDATA2;
BEGIN
WRITE ('ENTER THE NUMBER OF POUNDS. ');
READLN (AMOUNT);
WRITELN;
END;
PROCEDURE INPUTDATA3;
BEGIN
WRITE ('ENTER THE NUMBER OF GRAMS. ');
READLN (AMOUNT);
WRITELN;
END;
PROCEDURE INPUTDATA4;
BEGIN
WRITE ('ENTER THE NUMBER OF KILOGRAMS. ');
READLN (AMOUNT);
WRITELN;
END;
PROCEDURE PROCESSDATA;
BEGIN
CONVERSION := AMOUNT * 28.35;
END;
PROCEDURE PROCESSDATA2;
BEGIN
CONVERSION := AMOUNT * 0.454;
END;
PROCEDURE PROCESSDATA3;
BEGIN
CONVERSION := AMOUNT * 0.035;
END;
PROCEDURE PROCESSDATA4;
BEGIN
CONVERSION := AMOUNT * 2.21;
END;
PROCEDURE PRINTRESULTS;
BEGIN
WRITELN ('THERE ARE ', CONVERSION:1:2, ' GRAMS IN ', AMOUNT:1:2, ' OUNCES. ');
WRITELN;
END;
PROCEDURE PRINTRESULTS2;
BEGIN
WRITELN ('THERE ARE ', CONVERSION:1:2, ' KILOGRAMS IN ', AMOUNT:1:2, ' POUNDS. ');
WRITELN;
END;
PROCEDURE PRINTRESULTS3;
BEGIN
WRITELN ('THERE ARE ', CONVERSION:1:2, ' OUNCES IN ', AMOUNT:1:2, ' GRAMS. ');
WRITELN;
END;
PROCEDURE PRINTRESULTS4;
BEGIN
WRITELN ('THERE ARE ', CONVERSION:1:2, ' POUNDS IN ', AMOUNT:1:2, ' KILOGRAMS. ');
WRITELN;
END;
PROCEDURE PAUSE;
BEGIN
WRITE ('PRESS ENTER TO RETURN TO THE MENU. ');
READLN;
END;
PROCEDURE CONVERTOUNCESTOGRAMS;
BEGIN
CLRSCR;
INPUTDATA;
PROCESSDATA;
PRINTRESULTS;
PAUSE;
END;
PROCEDURE CONVERTPOUNDSTOKILOGRAMS;
BEGIN
CLRSCR;
INPUTDATA2;
PROCESSDATA2;
PRINTRESULTS2;
PAUSE;
END;
PROCEDURE CONVERTGRAMSTOOUNCES;
BEGIN
CLRSCR;
INPUTDATA3;
PROCESSDATA3;
PRINTRESULTS3;
PAUSE;
END;
PROCEDURE CONVERTKILOGRAMSTOPOUNDS;
BEGIN
CLRSCR;
INPUTDATA4;
PROCESSDATA4;
PRINTRESULTS4;
PAUSE;
END;
PROCEDURE QUIT;
BEGIN
DONE := TRUE;
END;
BEGIN
REPEAT
CLRSCR;
MENU;
CASE CH OF
'A', 'a': CONVERTOUNCESTOGRAMS;
'B', 'b': CONVERTPOUNDSTOKILOGRAMS;
'C', 'c': CONVERTGRAMSTOOUNCES;
'D', 'd': CONVERTKILOGRAMSTOPOUNDS;
'E', 'e': QUIT;
END;
UNTIL DONE;
END.
{ OUTFILE: PROG16.OUT }
CHOOSE ONE OF THE OPTIONS BELOW:
A. CONVERT OUNCES TO GRAMS.
B. CONVERT POUNDS TO KILOGRAMS.
C. CONVERT GRAMS TO OUNCES.
D. CONVERT KILOGRAMS TO POUNDS.
E. QUIT.
ENTER THE LETTER OF YOUR CHOICE. a
ENTER THE NUMBER OF OUNCES. 10
THERE ARE 283.50 GRAMS IN 10.00 OUNCES.
PRESS ENTER TO RETURN TO THE MENU.
BACK TO COMP151 PAGE.