|
|
DataMuseum.dkPresents historical artifacts from the history of: CP/M |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about CP/M Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 3200 (0xc80)
Types: TextFile
Names: »UGELOEN.PAS«
└─⟦08ea08c61⟧ Bits:30003924 PolyPascal programmer
└─⟦this⟧ »UGELOEN.PAS«
└─⟦09235ab48⟧ Bits:30003065 Demoprogrammer K-Z til Pascal bog
└─⟦this⟧ »UGELOEN.PAS«
└─⟦092727b26⟧ Bits:30005927 Demoprogrammer til Pascal bog (Jet-80)
└─⟦this⟧ »UGELOEN.PAS«
PROGRAM ugeloen;
CONST
maxtekst = 30;
TYPE
navnetype = STRING(.maxtekst.);
VAR
ansaettelse, navn, adresse, postby : navnetype;
timeloen, loen, netto, skat, skatpl, fradrag : REAL;
afdeling, antaltimer, traekpct : INTEGER;
ch : CHAR;
PROCEDURE udskrift;
BEGIN (* udskrift *)
WRITE(CLRHOM);
WRITELN('U G E S E D D E L');
WRITELN('----------------------------------------------------------');
WRITELN;
WRITELN('Ansættelsessted: ', ansaettelse);
WRITELN('Navn: ', navn);
WRITELN('Adresse: ', adresse);
WRITELN('Postnr. & by: ', postby);
WRITELN('----------------------------------------------------------');
WRITELN;
WRITELN('Afdeling: ', afdeling : 12);
WRITELN('Antal timer: ', antaltimer : 12);
WRITELN('Timeløn: ', timeloen : 15 : 2, ' kr');
WRITELN('----------------------------------------------------------');
WRITELN;
WRITELN('Bruttoløn: ', loen : 15 : 2, ' kr');
WRITELN('Fradrag: ', fradrag : 15 : 2, ' kr');
WRITELN('Skattepligtig indkomst: ', skatpl : 15 : 2, ' kr');
WRITELN('Skat (trækprocent: ', traekpct, '): ',
skat : 15 : 2, ' kr');
WRITELN('At udbetale: ', netto : 15 : 2, ' kr');
WRITELN('----------------------------------------------------------');
END; (* udskrift *)
PROCEDURE begynd;
BEGIN (* begynd *)
WRITE(CLRHOM);
GOTOXY(0, 6);
WRITELN('Du skal nu indtaste de nødvendige oplysninger for at få ');
WRITELN('lønseddelen udfyldt korrekt.');
WRITELN;
WRITE('Ansættelsessted: ');
BUFLEN := maxtekst;
READLN(ansaettelse);
WRITE('Navn: ');
BUFLEN := maxtekst;
READLN(navn);
WRITE('Gade og nummer: ');
BUFLEN := maxtekst;
READLN(adresse);
WRITE('Postnr. og by: ');
BUFLEN := maxtekst;
READLN(postby);
WRITE('Afdeling nr.: '); READLN(afdeling);
WRITE('Antal timer (pr. uge) '); READLN(antaltimer);
WRITE('Timeløn: '); READLN(timeloen);
WRITE('Skattemæssigt fradrag pr. uge: '); READLN(fradrag);
WRITE('Trækprocent: '); READLN(traekpct);
loen := antaltimer * timeloen;
skatpl := TRUNC(loen - fradrag);
skat := ROUND(skatpl * traekpct / 100);
netto := loen - skat;
END; (* begynd *)
BEGIN (* ugeloen *)
REPEAT
begynd;
udskrift;
GOTOXY(0, 22);
WRITE('Ønsker du at prøve igen (j/n): ');
REPEAT
READ(KBD, ch)
UNTIL ch IN (.'J', 'j', 'N', 'n'.);
WRITELN(ch);
UNTIL ch IN (.'N', 'n'.);
WRITELN('Så slutter vi for i dag.');
END. (* ugeloen *)
«eof»