PROGRAM 17
Program English_metric_converter; {Anthony F. Ortiz, Assignment 6b, 7/5/94} {This program is a menu driven program that allows the user to choose from many differnt conversion options.} Var done : boolean; ans : char; Procedure pause; Begin writeln; writeln ('Press < Enter > key to continue ...' ); readln; End; Procedure in_cm; Var inches,cm : real; Begin writeln; write ('Enter the number of inches: '); readln (inches); cm := inches * 2.54; writeln; writeln (inches:8:2, ' inches = ', cm:8:2, ' centimeters.'); pause End; Procedure cm_in; Var feet : integer; cm,inches : real; Begin writeln; write ('Enter the number of centimeters: '); readln (cm); inches := 1 / 2.54 * cm; writeln; if inches > 12 then begin feet := trunc (inches / 12); inches := inches - 12 * feet; writeln (cm:8:2, ' centimeters = ', feet, ' feet',inches:8:2, ' inches.') end else writeln (cm:8:2, ' centimeters = ', inches:8:2, ' inches.'); pause End; Procedure ft_m; Var ft,m : real; Begin writeln; write ('Enter the number of feet: '); readln (ft); m := 1 / 3.28 * ft; writeln; writeln (ft:8:2, ' feet = ', m:8:2, ' meters.'); pause; End; Procedure m_ft; Var ft, m : real; Begin writeln; write ('Enter the number of meters: '); readln (m); ft := 3.28 * m; writeln; writeln (m:8:2, ' meters = ', ft:8:2, ' feet.'); pause; End; Procedure menu (Var ans : char); Begin writeln; writeln ('Menu'); writeln; writeln ('*-MENU-MENU-MENU-MENU-MENU-MENU-MENU-*'); writeln ('[ ]'); writeln ('[ A) Convert inches to centimeters. ]'); writeln ('[ B) Convert feet to meters. ]'); writeln ('[ C) Convert centimeters to inches. ]'); writeln ('[ D) Convert meters to feet. ]'); writeln ('[ Q) Quit. ]'); writeln ('[ ]'); writeln ('*-MENU-MENU-MENU-MENU-MENU-MENU-MENU-*'); repeat writeln; write ('Please enter your choice (A,B,C,D,Q): '); readln (ans); if NOT (upcase(ans) IN ['A','B','C','D','Q']) then begin writeln; writeln ('Please enter ''A'',''B'',''C'',''D'' or ''Q'' only !'); pause; end until upcase (ans) IN ['A','B','C','D','Q']; End; Begin done := false; repeat menu (ans); case upcase (ans) of 'A' : in_cm; 'B' : ft_m; 'C' : cm_in; 'D' : m_ft else begin done := upcase(ans) = 'Q'; writeln; writeln ('Thank you, Bye Bye !'); end; end; until done; End. { OUTFILE: PROG17.OUT } Menu *-MENU-MENU-MENU-MENU-MENU-MENU-MENU-* [ ] [ A) Convert inches to centimeters. ] [ B) Convert feet to meters. ] [ C) Convert centimeters to inches. ] [ D) Convert meters to feet. ] [ Q) Quit. ] [ ] *-MENU-MENU-MENU-MENU-MENU-MENU-MENU-* Please enter your choice (A,B,C,D,Q): a Enter the number of inches: 10 10.00 inches = 25.40 centimeters. Press < Enter > key to continue ...
BACK TO COMP151 PAGE.