home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / mbug / mbug073.arc / GENELOGY.LBR / LAGE.CMD < prev    next >
OS/2 REXX Batch file  |  1979-12-31  |  2KB  |  61 lines

  1. * LAGE.CMD to produce list of age at death
  2. DO lgetrec
  3. STORE ' ' TO header,given1,famname1,given2,famname2,order
  4. STORE '     ' TO born,died,age,year1,year2
  5. STORE 0 TO total,n
  6. DO CASE
  7.    CASE type = 'N'
  8.       IF nom1 # nom2
  9.          STORE nom1+" to "+nom2 TO order
  10.       ELSE
  11.          STORE nom1+"s" TO order
  12.       ENDIF
  13.    CASE type = 'R'
  14.       STORE 'Records '+TRIM(mfirst)+' to '+TRIM(mlst) TO order
  15. ENDCASE
  16. IF myprnt = 'P'
  17.    SET PRINT ON
  18.    @ 6,0 SAY CHR(27)+'Y'
  19.    @ 6,30 SAY xinv+'Turn Printer ON'+xnor
  20.    ?? "  "
  21.    SET MARGIN TO 3
  22.    @ 6,0
  23. ENDIF
  24. ERASE
  25. IF myprnt ='P'
  26.    SET PRINT ON
  27. ENDIF
  28. ? "   "+order+", Ages at Death"
  29. ?
  30. DO WHILE &mvar <=mlast .AND. .NOT. EOF
  31.    IF borndate > " " .AND. (dieddate > " " .AND. dieddate # '........')
  32.       STORE TRIM(borndate) TO born
  33.       STORE TRIM(dieddate) TO died
  34.       STORE $(born,len(born)-3,len(born)) TO year1
  35.       STORE $(died,len(died)-3,len(died)) TO year2
  36.       STORE STR(VAL(year2)-VAL(year1),3) TO age
  37.       IF VAL(age) > 13
  38.          STORE VAL(age)+ total TO total
  39.          STORE n+1 TO n
  40.       ENDIF
  41.       ? #,surname,firstnms,age
  42.    ENDIF
  43.    SKIP
  44.    IF type ='R'
  45.       STORE STR(#,4) TO mvar
  46.    ENDIF
  47. ENDDO
  48. ?
  49. IF total > 0 .AND. n > 0
  50.    ? '   Average Age at Death = '+STR(total/n,2)
  51.    ?
  52. ENDIF
  53. SET PRINT OFF
  54. ? '                     Press <RETURN> when ready'
  55. SET CONSOLE OFF
  56. WAIT
  57. SET CONSOLE ON
  58. SET INDEX TO
  59. ERASE
  60. RETURN
  61.