Buchempfehlung
Windows System Programming
Windows System Programming
Das Kompendium liefert viele interessante Informationen zur Windows-Programmierung auf Englisch. [Mehr Infos...]
FreeBASIC-Chat
Es sind Benutzer im FreeBASIC-Chat online.
(Stand:  )
FreeBASIC bei Twitter
Twitter FreeBASIC-Nachrichten jetzt auch über Twitter erhalten. Follow us!

fb:porticula NoPaste

Info
Info / Hilfe
Liste
Übersicht / Liste
Neu
Datei hochladen
Suche
Quellcode suchen
Download
Dateidownload

Notendurchschnitt

Uploader:AdministratorSebastian
Datum/Zeit:01.09.2007 15:26:12

DIM AS STRING wscreen, nochmal  'erstellt die 2 STRING variablen
DIM AS INTEGER anznoten=0,x,i   'erstellt 2 INTEGER variablen
DIM Note(1 TO 6) AS INTEGER     'erstellt den Array
DIM AS SINGLE schnitt, noten    '2 SINGLE variablen (für Kommazahlen

CLS

INPUT "Moechten sie im Vollbildmodus arbeiten oder nicht ? (j/n) ",wscreen

IF UCASE(wscreen) = "J" THEN
    SCREEN 18,,,1
ELSEIF UCASE(wscreen) = "N" THEN
    SCREEN 18
ELSE
    END
END IF

DO

    CLS
    'Tabelle wird gezeichnet:
    LINE (50,50)-(544,230),,B

    'erste Spalte
    LINE (150,50)-(150,200),,B
    'erste Spalte füllen:
    LOCATE 5, 9 : PRINT "Zensur -->"
    LOCATE 8, 9 : PRINT "Anzahl -->"
    LOCATE 11,9 : PRINT "Prozent ->"
    LOCATE 14,9 : PRINT "Auswertung:"

    'erst Zeile:
    LINE (50,100)-(544,100)
    'erste Zeile füllen:
    FOR i = 0 TO 5
        LOCATE 5,23+(i*8): PRINT LTRIM(STR(i+1))
        IF i<5 THEN LINE (220+(i*70),50)-(220+(i*70),50)
    NEXT i

    LINE (50,150)-(544,150) 'zweite Zeile
    LINE (50,200)-(544,200) 'dritte Zeile

    'Gibt den Variablen einen wert:
    anznoten = 0
    FOR i = 0 to 5
        LOCATE 8,23+(i*8): INPUT note(i+1)
        anznoten += note(i+1)
    NEXT i

    schnitt = ((note(1)*1)+(note(2)*2)+(note(3)*3)+(note(4)*4)+(note(5)*5)+(note(6)*6)) / anznoten

    LOCATE 14,23 : PRINT "Durchschnitt:"; schnitt 'ein zweites PRINT ist überflüssig
    LOCATE 14, 48 : PRINT "Anzahl der Noten:"; anznoten

    'Berrechne Prozentwerte
    FOR i = 0 to 5
        LOCATE 11,21+(i*8): PRINT USING "###.##"; note(i+1)/anznoten*100
        LOCATE 11,26+(i*8): PRINT "%"
    NEXT i

    LOCATE 21,12 :INPUT "Nochmal von vorn ? ", nochmal
    IF NOT INSTR(UCASE(nochmal),"J") THEN EXIT DO

LOOP

END