home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / basic / library / gwbasic / days / days.bas next >
Encoding:
BASIC Source File  |  1994-05-25  |  1.3 KB  |  41 lines

  1. 10 CLS : KEY OFF: PRINT "Days between two dates  M, D, Y  (22,06,1984):"
  2. 20 PRINT "First Date?"
  3. 30 INPUT D1, M1, Y1
  4. 40 PRINT "Second Date?"
  5. 50 INPUT D2, M2, Y2
  6. 60 Y = Y1: M = M1: D = D1: GOSUB 140
  7. 70 N = A: Y = Y2: D = D2: M = M2: GOSUB 140
  8. 80 N = A - N: PRINT "Difference = "; N; "days.": :
  9. 90 INPUT "Do you want a printout "; Y$
  10. 100 IF Y$ = "Y" OR Y$ = "y" THEN GOSUB 360
  11. 110 INPUT "More data (Y/N)"; D$
  12. 120 IF D$ = "y" OR D$ = "Y" THEN 10
  13. 130 CLS : SYSTEM
  14. 140 ON M GOTO 170, 190, 170, 250, 170, 250, 170, 170, 250, 170, 250, 170
  15. 150 PRINT "Unreal Date!!!"
  16. 160 RETURN
  17. 170 IF D > 31 THEN 150
  18. 180 GOTO 260
  19. 190 IF Y / 4 <> INT(Y / 4) THEN 220
  20. 200 IF Y / 400 = INT(Y / 400) THEN 230
  21. 210 IF Y / 100 <> INT(Y / 100) THEN 230
  22. 220 IF D > 28 THEN 150
  23. 230 IF D > 29 THEN 150
  24. 240 GOTO 260
  25. 250 IF D > 30 THEN 150
  26. 260 DATA 0,31,59,90,120,151,181,212,243,273,304,334
  27. 270 RESTORE
  28. 280 FOR H = 1 TO M: READ A: NEXT H
  29. 290 A = A + Y * 365 + INT(Y / 4) + D + 1 - INT(Y / 100) + INT(Y / 400)
  30. 300 IF INT(Y / 4) <> Y / 4 THEN 350
  31. 310 IF Y / 400 = INT(Y / 400) THEN 330
  32. 320 IF Y / 100 = INT(Y / 100) THEN 350
  33. 330 IF M > 2 THEN 350
  34. 340 A = A - 1
  35. 350 RETURN
  36. 360 LPRINT "First Date:   "; M1; "/"; D1; "/"; Y1: :
  37. 370 LPRINT "Second Date: "; M2; "/"; D2; "/"; Y2: :
  38. 380 LPRINT "Number od days between dates is: "; N
  39. 390 RETURN
  40.  
  41.