{

 

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.