PROGRAM 11
PROGRAM CONVERTCENTIMETERS;
{ANTHONY F. ORTIZ, ASSIGNMENT 3D, JUNE 27, 1994}
{THIS PROGRAM IS A MENU DRIVEN PROGRAM THAT ALLOWS THE USER
TO CONVERT CENTIMETERS TO INCHES OR VICE-VERSA AND PRINT
IT TO THE SCREEN.}
USES CRT;
VAR
CM, INCHES, CHOICE : REAL;
PROCEDURE PAUSE;
BEGIN
WRITELN;
WRITE ('PRESS ENTER KEY TO CONTINUE. ');
READLN;
WRITELN;
END;
PROCEDURE EXPLAINPROGRAM;
BEGIN
WRITELN ('OPTION MENU');
WRITELN;
WRITELN ('1. CONVERT CM. TO INCHES. ');
WRITELN ('2. CONVERT INCHES TO CM. ');
WRITELN;
END;
PROCEDURE GETDATA;
BEGIN
WRITE ('ENTER ONE OF THE ABOVE MENU CHOICES. ');
READLN (CHOICE);
END;
PROCEDURE CHOICE1;
BEGIN
CLRSCR;
WRITE ('ENTER THE NUMBER OF CENTIMETERS. ');
READLN (CM);
END;
PROCEDURE CHOICE2;
BEGIN
CLRSCR;
WRITE ('ENTER THE NUMBER OF INCHES. ');
READLN (INCHES);
END;
PROCEDURE PROCESSDATA1;
BEGIN
INCHES := 1 / 2.54 * CM;
END;
PROCEDURE PROCESSDATA2;
BEGIN
CM := INCHES * 2.54;
END;
PROCEDURE PRINTRESULTS1;
BEGIN
WRITELN;
WRITELN (CM:1:2, ' CENTIMETERS = ',INCHES:1:2 , ' INCHES. ');
END;
PROCEDURE PRINTRESULTS2;
BEGIN
WRITELN;
WRITELN (INCHES:1:2, ' INCHES = ', CM:1:2 , ' CM. ');
END;
VAR
ANS: STRING;
PROCEDURE LOOP;
BEGIN
WRITELN;
WRITE ('WOULD YOU LIKE TO STOP THE PROGRAM? TYPE "YES" TO QUIT. ');
READLN (ANS);
END;
BEGIN
REPEAT;
CLRSCR;
EXPLAINPROGRAM;
GETDATA;
IF CHOICE = 1 THEN
CHOICE1
ELSE
CHOICE2;
IF CHOICE = 1 THEN
PROCESSDATA1
ELSE
PROCESSDATA2;
IF CHOICE = 1 THEN
PRINTRESULTS1
ELSE
PRINTRESULTS2;
LOOP;
UNTIL ANS = 'YES'
END.
{ OUTFILE: PROG11.OUT }
OPTION MENU
1. CONVERT CM. TO INCHES.
2. CONVERT INCHES TO CM.
ENTER ONE OF THE ABOVE MENU CHOICES. 1
ENTER THE NUMBER OF CENTIMETERS. 10
10.00 CENTIMETERS = 3.94 INCHES.
WOULD YOU LIKE TO STOP THE PROGRAM? TYPE "YES" TO QUIT. yes
BACK TO COMP151 PAGE.