|
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 - download
Length: 2816 (0xb00) Types: TextFile Names: »FAKTURA.PAS«
└─⟦08ea08c61⟧ Bits:30003924 PolyPascal programmer └─ ⟦this⟧ »FAKTURA.PAS« └─⟦092727b26⟧ Bits:30005927 Demoprogrammer til Pascal bog (Jet-80) └─ ⟦this⟧ »FAKTURA.PAS« └─⟦3702e543b⟧ Bits:30003064 Demoprogrammer A-J til Pascal bog └─ ⟦this⟧ »FAKTURA.PAS« └─⟦f983c2ef3⟧ Bits:30004681 Pascal opgaver (Butler) └─ ⟦this⟧ »FAKTURA.PAS«
PROGRAM faktura; CONST max = 200; momspct = 22; TYPE str30 = STRING(.30.); tabint = ARRAY(.1 .. max.) OF INTEGER; tabreal = ARRAY(.1 .. max.) OF REAL; tabstr = ARRAY(.1 .. max.) OF str30; VAR i, antal_varer : INTEGER; varenummer, vareantal : tabint; varenavn : tabstr; varepris : tabreal; kundenavn : str30; sum, moms : REAL; PROCEDURE ind(VAR kunde : str30; VAR postantal : INTEGER; VAR nummer : tabint; VAR navn : tabstr; VAR antal : tabint; VAR pris : tabreal); VAR i, nr : INTEGER; BEGIN WRITE(CLRHOM); i := 0; WRITE('Kunde: '); READLN(kunde); REPEAT i := i + 1; WRITELN; WRITE('Tast varens nummer (0 stopper): '); READLN(nr); IF nr <> 0 THEN BEGIN nummer(.i.) := nr; WRITE('Tast varens navn: '); READLN(navn(.i.)); WRITE('Tast antal enheder: '); READLN(antal(.i.)); WRITE('Tast enhedspris: '); READLN(pris(.i.)); END; UNTIL (nr = 0) OR (i = max); IF nr = 0 THEN postantal := i - 1 ELSE postantal := max; END; PROCEDURE skriv(kunde : str30; postantal : INTEGER; VAR nummer : tabint; VAR navn : tabstr; VAR antal : tabint; VAR pris : tabreal; total, moms : REAL); VAR prikker : str30; i : INTEGER; BEGIN WRITE(CLRHOM); prikker := '.............................'; WRITELN('A.B.Carlsen Aps'); WRITELN('Søgade 400'); WRITELN('0000 Vestby'); WRITELN; WRITELN('KUNDE: ', kunde); WRITELN; WRITELN(' NR VARE ANTAL PRIS', ' BELØB'); WRITELN; FOR i := 1 TO postantal DO BEGIN navn(.i.) := navn(.i.) + ' ' + prikker; WRITELN(nummer(.i.) : 10, ' ', navn(.i.), antal(.i.) : 5, pris(.i.) : 10 : 2, antal(.i.) * pris(.i.) : 10 : 2); END; WRITELN(' ' : 45, '-------------------------'); WRITELN(' ' : 45, 'TOTAL', total : 20 : 2); WRITELN(' ' : 45, 'MOMS ', moms : 20 : 2); WRITELN(' ' : 45, '-------------------------'); WRITELN(' ' : 45, 'IALT ', total + moms : 20 : 2); END; BEGIN ind(kundenavn, antal_varer, varenummer, varenavn, vareantal, varepris); sum := 0; FOR i := 1 TO antal_varer DO sum := sum + vareantal(.i.) * varepris(.i.); moms := sum * momspct / 100; skriv(kundenavn, antal_varer, varenummer, varenavn, vareantal, varepris, sum, moms); END. «eof»