DataMuseum.dk

Presents historical artifacts from the history of:

CP/M

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about CP/M

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦ce7fb40f0⟧ TextFile

    Length: 1408 (0x580)
    Types: TextFile
    Names: »RENTEDAG.PAS«

Derivation

└─⟦08ea08c61⟧ Bits:30003924 PolyPascal programmer
    └─ ⟦this⟧ »RENTEDAG.PAS« 
└─⟦09235ab48⟧ Bits:30003065 Demoprogrammer K-Z til Pascal bog
    └─ ⟦this⟧ »RENTEDAG.PAS« 
└─⟦092727b26⟧ Bits:30005927 Demoprogrammer til Pascal bog (Jet-80)
    └─ ⟦this⟧ »RENTEDAG.PAS« 

TextFile

PROGRAM rentedag;

(* Samtlige måneder sættes til 30 dage i dette program *)

  TYPE
    str4 = STRING(.4.);
    datopost = RECORD
                 dag , maaned , aar : INTEGER;
               END;
  
  VAR
    streng : str4;
    dato : datopost;
    test, datonummer, rentedage : INTEGER;
  
  BEGIN
    WRITE(CLRHOM);
    WITH dato DO
      BEGIN
        REPEAT
          WRITE('Tast dato (1 - 31): ');
          BUFLEN := 2;
          READLN(streng);
          VAL(streng, dag, test);
        UNTIL (test = 0) AND (1 <= dag) AND (dag <= 31);  
        REPEAT
          WRITE('Tast måned (1 - 12): ');
          BUFLEN := 2;
          READLN(streng);
          VAL(streng, maaned, test);
        UNTIL (test = 0) AND (1 <= maaned) AND (maaned <= 12);
        REPEAT 
          WRITE('Tast år (1900 - 2100): ');
          BUFLEN := 4;
          READLN(streng);
          VAL(streng, aar, test);
        UNTIL (test = 0) AND (1900 <= aar) AND (aar <= 2100);
        IF dag = 31
          THEN dag := 30;
        IF (maaned = 12) AND (dag >= 12)
          THEN datonummer := dag - 30
          ELSE datonummer := 30 * (maaned - 1) + dag;
      END;
    IF datonummer <= 161
      THEN rentedage := 161 - datonummer
      ELSE rentedage := 341 - datonummer;
    WRITELN;
    WRITELN('Der er ', rentedage, ' dage til terminsdagen');
  END.
«eof»