! 5. day 1-29 for (2) to catch 2-30-81
DO while more data
LET noerror$ = "false"
READ when$
!LET when$ = "1-3-99"
IF when$[1:1]="0" then
PRINT "The month should not begin with '0'"
ELSE IF when$[pos(when$,"-")+1:pos(when$,"-")+1]="0" then
PRINT "The day should not begin with '0'"
ELSE IF val(when$[1:pos(when$,"-")-1])<1 then
PRINT "The month should be between 1 and 12"
ELSE IF val(when$[1:pos(when$,"-")-1])>12 then
PRINT "The month should be between 1 and 12"
ELSE IF val(when$[1:pos(when$,"-")-1]) = 9 and val(when$[pos(when$,"-")+1:posr(when$,"-")-1]) > 30 then
PRINT "September has no more than 30 days"
ELSE IF val(when$[1:pos(when$,"-")-1]) = 4 and val(when$[pos(when$,"-")+1:posr(when$,"-")-1]) > 30 then
PRINT "April has no more than 30 days"
ELSE IF val(when$[1:pos(when$,"-")-1]) = 6 and val(when$[pos(when$,"-")+1:posr(when$,"-")-1]) > 30 then
PRINT "June has no more than 30 days"
ELSE IF val(when$[1:pos(when$,"-")-1]) = 11 and val(when$[pos(when$,"-")+1:posr(when$,"-")-1]) > 30 then
PRINT "November has no more than 30 days"
ELSE IF val(when$[pos(when$,"-")+1:posr(when$,"-")-1]) > 31 then
PRINT "No month has no more than 31 days"
ELSE IF val(when$[1:pos(when$,"-")-1]) = 2 and val(when$[pos(when$,"-")+1:posr(when$,"-")-1]) > 29 then
PRINT "February has no more than 29 days"
ELSE
PRINT "The date is in correct format"
LET noerror$ = "true"
END IF
PRINT "noerror$ is ..."; noerror$
LOOP
DATA "01-11-11", "1-01-11", "1-11-11", "13-20-85", "11-31-88", "9-31-88" , "1-32-99", "2-30-99"
END
The month should not begin with '0'
noerror$ is ...false
The day should not begin with '0'
noerror$ is ...false
The date is in correct format
noerror$ is ...true
The month should be between 1 and 12
noerror$ is ...false
November has no more than 30 days
noerror$ is ...false
September has no more than 30 days
noerror$ is ...false
No month has no more than 31 days
noerror$ is ...false
February has no more than 29 days
noerror$ is ...false
! now put this coding element into PP6.2