menu prev next

RECORDS AND PROCEDURES
The following program demonstrates passing a record to a procedure, which updates the record, then prints the updated time.



	program  TIME (input,output);

	type     time = record

	                   seconds, minutes, hours : integer

	                end;

	var  current, next : time;



	{ function to update time by one second }

	procedure  timeupdate( var now : time); {variable parameter}

	var  newtime : time;                    {local variable}

	begin

	     newtime := now;                    {use local instead of orginal}

	     newtime.seconds := newtime.seconds + 1;



	     if  newtime.seconds = 60  then

	     begin

	        newtime.seconds := 0;

	        newtime.minutes := newtime.minutes + 1;

	        if  newtime.minutes = 60  then

	        begin

	             newtime.minutes := 0;

	             newtime.hours := newtime.hours + 1;

	             if  newtime.hours = 24  then

	                newtime.hours := 0

	        end

	     end;

	     writeln('The updated time is ',newtime.hours,':',newtime.minutes,

    	         ':',newtime.seconds)

	end;



	begin

	      writeln('Please enter in the time using hh mm ss');

	      readln( current.hours, current.minutes, current.seconds );

	      timeupdate( current )

	end.




Copyright B Brown/P Henry/CIT, 1988-1997. All rights reserved.
menu prev next