uses crt; var pilih:integer; Const MenuItem : Array [1..5] of String[25] = ('1.Celcius ke Fahrenheit ', '2.Fahrenheit ke Celcius ', '3.Celcius ke Reamur ', '4.Reamur ke Celcius ', '5.Keluar Program '); procedure tulis(x,y,c1,c2:integer;t:string); begin textbackground(c1); textcolor(c2); gotoxy(x,y); write(t); end; procedure tulistengah(x,y,w,c:integer;t:string); var p,tgh:integer; begin textcolor(c); p:=length(t); tgh:=round((w-p)/2); gotoxy(x+tgh,y); write(t); end; procedure kotak(x,y,w,h,t,b:integer); var i,j:integer; begin textbackground(b); textcolor(t); gotoxy(x,y); write(chr(201)); for i:=1 to w do begin gotoxy(x+i,y); write(chr(205)); end; gotoxy(x+i+1,y); write(chr(187)); for j:=1 to h do begin gotoxy(x,y+j); write(chr(186)); for i:=1 to w do begin gotoxy(x+i,y+j); write(chr(32)); end; gotoxy(x+i+1,y+j); write(chr(186)); end; gotoxy(x,y+j+1); write(chr(200)); for i:=1 to w do begin gotoxy(x+i,y+j+1); write(chr(205)); end; gotoxy(x+i+1,y+j+1); write(chr(188)); end;
procedure menu1; var celcius,fahrenheit:real; begin clrscr; tulis(1,1,1,15,'Masukkan temperatur celcius :');readln(celcius); fahrenheit:=(9/5*celcius)+32; tulis(1,2,1,15,'Equivalent dalam fahrenheit :'); gotoxy(1,3);writeln(fahrenheit:5:0); readln; end; procedure menu2; var celcius,fahrenheit:real; begin clrscr; tulis(1,1,1,15,'Masukkan temperatur fahrenheit :');readln(fahrenheit); celcius:=(5/9*(fahrenheit-32)); tulis(1,2,1,15,'Equivalent dalam celcius :'); gotoxy(1,3);writeln(celcius:5:0); readln; end; procedure menu3; var celcius,reamur:real; begin clrscr; tulis(1,1,1,15,'Masukkan temperatur celcius :');readln(celcius); reamur:=(4/5*celcius); tulis(1,2,1,15,'Equivalent dalam reamur :'); gotoxy(1,3);writeln(reamur:5:0); readln; end; procedure menu4; var celcius,reamur:real; begin clrscr; tulis(1,1,1,15,'Masukkan temperatur reamur :');readln(reamur); celcius:=(5/4*reamur); tulis(1,2,1,15,'Equivalent dalam celcius :'); gotoxy(1,3);writeln(celcius:5:0); readln; end;
var baris:integer; Hrf:char; begin Repeat textbackground(1); clrscr; kotak(5,5,40,8,15,1); tulistengah(5,6,40,14,'KONVERSI SUHU'); for baris:=1 to 5 do tulis(7,7+baris,1,15,MenuItem[baris]); baris:=1; tulis(7,7+baris,4,14,MenuItem[baris]); Repeat Hrf := Readkey; If Hrf = #0 Then Begin Hrf := Readkey; tulis(7,7+baris,1,15,MenuItem[baris]); Case Hrf of #72 : If baris = 1 then baris := 5 else dec(baris); #80 : If baris = 5 then baris := 1 else inc(baris); End; tulis(7,7+baris,4,14,MenuItem[baris]); End; Until Hrf = #13; case baris of
1: begin menu1; end; 2: begin menu2; end; 3: begin menu3; end; 4: begin menu4; end; end;
Until baris=5; end.