1
0
mirror of https://github.com/mbirth/gwbasic.git synced 2024-09-19 16:53:26 +01:00
gwbasic/ABRECHNG.BAS

129 lines
3.5 KiB
QBasic
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

10 CLS
20 DIM T(31)
30 DIM MA(5)
40 COLOR 10:PRINT" Programm zur Berechnung der Zeitzuschl„gen und šberstundenverg<72>tung"
50 COLOR 12:PRINT" f<>r Mutti"
60 COLOR 15
70 PRINT
80 PRINT"Besch„ftigungsgrad [1-Ganz; 2-Halb; 3-Dreiviertel]:"
90 BESCH$=INKEY$:IF BESCH$="" THEN 90
100 IF BESCH$="1" THEN BESCH$="Ganz":GOTO 140
110 IF BESCH$="2" THEN BESCH$="Halb":GOTO 140
120 IF BESCH$="3" THEN BESCH$="Dreiviertel":GOTO 140
130 GOTO 90
140 INPUT"Tage :",TAG
150 PRINT"FS-Tag [j/n] ?"
160 FS$=INKEY$:IF FS$="" THEN 160
170 IF FS$="j" THEN FS$="1":GOTO 200
180 IF FS$="n" THEN FS$="0":GOTO 200
190 GOTO 160
200 W=1
210 T=0
220 IF BESCH$="Ganz" AND FS$="0" THEN SL=TAG*7.85
230 IF BESCH$="Ganz" AND FS$="1" THEN SL=(TAG-1)*7.85
240 IF BESCH$="Halb" AND FS$="0" THEN SL=TAG*3.93
250 IF BESCH$="Halb" AND FS$="1" THEN SL=(TAG-1)*3.93
260 IF BESCH$="Dreiviertel" AND FS$="0" THEN SL=TAG*(7.7/4*3)
270 IF BESCH$="Dreiviertel" AND FS$="1" THEN SL=(TAG-1)*(7.7/4*3)
280 PRINT
290 PRINT USING"Soll: ###.##";SL
300 PRINT
310 INPUT"Gutstunden: ",GUT
320 FER=SL-GUT
330 PRINT USING"Mindest. : ###.##";FER
340 PRINT
350 PRINT"Wenn keine Werte mehr ---> 8888 eingeben"
360 PRINT"Wenn 0 ---> 99"
370 PRINT
380 PRINT"Taste f<>r WEITER"
390 A$=INKEY$:IF A$="" THEN 390
400 CLS
410 PRINT"20 - 7.85"
420 PRINT"88 - 1 zur<75>ck"
430 PRINT USING"Gesamt : ####.##";GES
440 PRINT"Wert (";W;") ";:INPUT" ",T(W)
450 IF T(W)=20 THEN T(W)=7.85
460 IF T(W)=88 THEN W=W-1:GES=GES-SAFE:GOTO 400
470 IF T(W)=0 THEN T(W)=SAFE
480 IF T(W)=99 THEN T(W)=0
490 IF T(W)=8888 THEN 550
500 SAFE=T(W)
510 GES=T(W)+GES
520 IF W=31 THEN GOTO 550
530 W=W+1
540 GOTO 400
550 PRINT
560 COLOR 12
570 PRINT USING"Gesamt-Wert: ###.##";GES
580 COLOR 14
590 PRINT
600 PRINT USING"Mindest.: ###.##";FER
610 PRINT USING"Ist : ###.##";GES
620 COLOR 15
630 PRINT
640 PRINT USING" ###.##";GES
650 PRINT USING"-###.##";FER
660 PRINT "-------"
670 MA(1)=GES-FER
680 PRINT USING"####.##";MA(1)
690 PRINT "======="
700 PRINT
710 INPUT"Gearbeitete Tage :",GTAG
720 PRINT
730 MA(2)=GTAG*10/60
740 PRINT USING"Minutenausgleich: ##.##";MA(2)
750 PRINT
760 PRINT USING " ###.##";MA(1)
770 PRINT USING "+###.##";MA(2)
780 PRINT "-------"
790 MA(3)=MA(1)+MA(2)
800 PRINT USING "####.##";MA(3)
810 PRINT "======="
820 PRINT
830 COLOR 10
840 PRINT USING "Gut: ###.##";MA(3)
850 PRINT
860 VZ=MA(3)
870 IF MA(3)<0 THEN MA(3)=MA(3)-MA(3)-MA(3)
880 HR=INT(MA(3))
890 DMN=MA(3)-HR
900 MN=DMN*6/10
910 COLOR 14
920 IF VZ<0 THEN HR=HR-HR-HR
930 PRINT USING "šbertrag:+### Std.##'";HR,MN
940 PRINT
950 PRINT"Weitere Berechnungen ?"
960 PRINT"603 - Nachtschicht"
970 PRINT"324 - Samstagsarbeit"
980 PRINT"2 - Genehmigte šberstundenzahl mit Freizeitausgleich"
990 PRINT"306 - Arbeit an Sonntagen"
1000 PRINT
1010 INPUT"Code :",CD
1020 IF CD=603 THEN GOTO 1080
1030 IF CD=324 THEN GOTO
1040 IF CD=2 THEN GOTO
1050 IF CD=200 THEN GOTO
1060 IF CD=306 THEN GOTO
1070 GOTO 1010
1080 REM Nachtarbeit
1090 CLS
1100 COLOR 10:PRINT" Nachtarbeit"
1110 PRINT
1120 INPUT"Anzahl der zusammenzuz„hlenden Tage: ",DAYS
1130 E=1
1140 D=0
1150 CLS
1160 PRINT USING"Gesamt: ###.##";GSMT
1170 PRINT"Wert (";D(E);") :";:INPUT WRT
1180 IF E>=DAYS THEN GOTO 1220
1190 E=E+1
1200 GSMT=GSMT+WRT
1210 GOTO 1150
1220 REM Ausgabe
1230 CLS
1240 PRINT"Code: 603"
1250 PRINT"Gesamt: ";GSMT
1260 PRINT
1270 A$=INKEY$:IF A$="" THEN 1270
1280 CLS:GOTO 940