Fortran Program samp1.f

Lines in blue are comment lines that describe changes necessary to affect remediation by expansion. Items in red are those that need to be modified to achieve it.

C**           Program samp1.f
C
C Samp1.f reads in 4 lines of data consisting of:
C
C    Name1
C    Birthdate1
C    Name2
C    Birthdate2
C
C
C where all entries are character strings and the birth dates are in
C date format:  MMDDYY.
C 
C Note that while it would be more efficient for the format of the 
C input data to be in ISO (International Standards Organization) date
C format, YYMMDD, the format used provides a more useful program for 
C illustrating problems associated with y2k remediation.
C
C Example:
C
C    John Smith
C    991201
C    Joe Public
C    981131
C
C The program compares the dates and computes which individual is
C older and prints the result with birth dates expressed in the
C format MM/DD/YY.
C
C**
C** Replace 6 with 8 
	character*6 date1,date2,date1p,date2p
        character *20 name1,name2
        character*3 month(12)
	integer m1,m2,d1,d2,y1,y2
        data  month/'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',
     1   'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'/
        read(*,'(a)')name1
	read (*,'(a)')date1 
        read(*,'(a)')name2
	read (*,'(a)')date2 
C** Replace 3i2 with 2i2,i4 in the next two lines
	read(date1,'(3i2)')m1,d1,y1
        read(date2,'(3i2)')m2,d2,y2
C** Replace  6  with  8  in the next two lines 
        date1p = date1(5:6)//date1(1:2)//date1(3:4)
        date2p = date2(5:6)//date2(1:2)//date2(3:4)
        if(date1p.eq.date2p)then
C** Delete  1900+  in the following lines 
         print *, name1,' with birth date: ', month(m1),' ',d1,', ',
     1    1900+y1
         print *
         print *, 'is the same age as'
         print *
         print *, name2,' with birth date: ', month(m2),' ',d2,', ',
     1    1900+y2
        else if(date1p.lt.date2p)then
         print *, name1,' with birth date: ', month(m1),' ',d1,', ',
     1    1900+y1
         print *
         print *, 'is older than'
         print *
         print *, name2,' with birth date: ', month(m2),' ',d2,', ',
     1    1900+y2
        else
         print *, name1,' with birth date: ', month(m1),' ',d1,', ',
     1    1900+y1
         print *
         print *, 'is younger than'
         print *
         print *, name2,' with birth date: ', month(m2),' ',d2,', ',
     1    1900+y2
        endif
	end