{
Adam Aji
12/16/09
Mr. Johnson
Contest #1 - GOLF
EnloeHS
Jr-5
}
Program ACSLGolf;
uses crt;
TYPE
regPAR_array=array [1..4]of integer; {par value}
scrPAR_array=array [1..4]of integer; {score of player}
outPAR_array=array [1..4]of integer;
outnamPAR_array=array [1..4]of string;
namPAR_array=array [1..5]of string;
VAR
regpar:regPAR_array;
scrPAR:scrPAR_array;
outpar:outpar_array;
namPAR:namPAR_array;
outnampar:outnamPAR_array;
final:integer;
paradd:integer;
scoreadd:integer;
Procedure inTheGolfHole(VAR
regpar:regpar_array; VAR scrpar:scrpar_array; VAR nampar:nampar_array);
VAR
x:integer;
Begin
writeln('First write par for the hole, then write the score
for the hole.');
for x:=1 to 4 do
begin
writeln('Course ',x,': ');
read(regpar[x]);
read(scrpar[x]);
writeln(' ');
End;
nampar[1]:='par';
nampar[2]:='birdie';
nampar[3]:='eagle';
nampar[4]:='bogey';
nampar[5]:='double bogey';
End;
Procedure mathItOut(VAR
regpar:regpar_array;VAR scrpar:scrpar_array;VAR outpar:outpar_array;
VAR
outnampar:outnampar_array; VAR final,paradd,scoreadd:integer);
VAR
x:integer;
Begin
final:=0;
paradd:=0;
scoreadd:=0;
for x:=1 to 4 do
begin
paradd:=regpar[x]+paradd;
scoreadd:=scrpar[x]+scoreadd;
outpar[x]:=scrpar[x]-regpar[x];
if (outpar[x]=0) then
begin
outnampar[x]:=nampar[1];
end
else if (outpar[x]=-1) then
begin
outnampar[x]:=nampar[2];
end
else if (outpar[x]=-2) then
begin
outnampar[x]:=nampar[3];
end
else if (outpar[x]=1) then
begin
outnampar[x]:=nampar[4];
end
else if (outpar[x]=2) then
begin
outnampar[x]:=nampar[5];
end;
end;
final:=scoreadd-paradd;
End;
Procedure
gopherInTheHole(VAR regpar:regpar_array;VAR scrpar:scrpar_array;VAR
outpar:outpar_array;
VAR
outnampar:outnampar_array; VAR final,paradd,scoreadd:integer);
VAR
x:integer;
Begin
clrscr;
for x:=1 to 4 do
begin
if (outpar[x]<3) and (outpar[x]>-3) then
begin
writeln(x,'. ',outnampar[x]);
end
else if (outpar[x]>2) then
begin
writeln(x,'. ',outpar[x],' over par.');
end
else if (outpar[x]<-2) then
begin
writeln(x,'. ',outpar[x],' below par.');
end;
end;
if (final > 0) then
begin
write('Cumulative score: ',final,' over par.');
end
else if (final < 0) then
begin
final:=final*-1;
write('Cumulative score: ',final,' below par.');
end
else if (final = 0) then
begin
write('Cumulative score: par');
end;
readln;
End;
Begin {Main Begin}
clrscr;
inTheGolfHole(regpar,scrpar,nampar);
mathItOut(regpar,scrpar,outpar,outnampar,final,paradd,scoreadd);
gopherInTheHole(regpar,scrpar,outpar,outnampar,final,paradd,scoreadd);
readln;
End.