WinFuture-Forum.de: Visual Basic Notendurchschnitt - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

Visual Basic Notendurchschnitt Programm zur Berechnung eines Notendurchschnitts


#1 Mitglied ist offline   Robocop 

  • Gruppe: aktive Mitglieder
  • Beiträge: 35
  • Beigetreten: 27. August 08
  • Reputation: 0

  geschrieben 27. August 2008 - 13:35

Hallo zusammen!

Ich habe in der Schule momentan Visual Basic. Ich habe eine Aufgabe bekommen bei der ich ein Programm zur Berechnung eines Notendurchschnitts einer Klassenarbeit erstellen soll. Nun hab ich ein kleines Verständnisproblem was die Berechnung an sich angeht.
Wenn auf den Button "Notendurchschnitt berechnen" geklickt wird, soll das Programm den Notendurchschnitt mit den eingegebenen Daten errechnen. Nur irgendwie komme ich nicht drauf wie ich das im Code formulieren soll...


So sieht mein Code bisher aus... Mir fehlt noch die Funktion für den Berechnen-Button.

Option Explicit

Dim schueler
Dim note1
Dim note2
Dim note3
Dim note4
Dim note5
Dim note6
Dim ergebnis


Private Sub cmdBerechnen_Click()
    note1 = txtNote1.Text
    note2 = txtNote2.Text
    note3 = txtNote3.Text
    note4 = txtNote4.Text
    note5 = txtNote5.Text
    note6 = txtNote6.Text
        
    ergebnis = 
    
    txtErgebnis.Text = ergebnis
End Sub

Private Sub cmdEnde_Click()
    End
End Sub

Private Sub cmdNeu_Click()
    txtSchueler.Text = ""
    txtNote1.Text = ""
    txtNote2.Text = ""
    txtNote3.Text = ""
    txtNote4.Text = ""
    txtNote5.Text = ""
    txtNote6.Text = ""
    txtErgebnis = ""
End Sub



Im Anhang ein Bild wie das Programm vorraussichtlich aussehen wird.

Vielen Dank schon mal!

Angehängte Miniaturbilder

  • Angehängtes Bild: vb.JPG

0

Anzeige



#2 Mitglied ist offline   Daniel88 

  • Gruppe: aktive Mitglieder
  • Beiträge: 124
  • Beigetreten: 02. März 06
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Backnang
  • Interessen:Ich hab ICQ und MSN ;) gibts aber net öffentlich.<br />Ich interessiere mich für (fast) alles was mit PCs und so weiter zu tun hat.

geschrieben 27. August 2008 - 14:08

Hallo und willkommen im Forum

Wenn ich frech wäre würde ich dich zu gidf.de schicken. Aber belassen wir das mal.
Ich kann zwar kein Visual Basic aber evtl hilft dir folgendes Beispiel:
Beispiel*click*
(auf der Seite fast ganz unten)
Übrigens das erste Ergebnis einer Suche mit google :blink:

Dieser Beitrag wurde von Daniel88 bearbeitet: 27. August 2008 - 14:10

It´s nice to be important, but it´s more important to be nice.
(Einer der dollen Sätze von Scooter)
Take care to get what you like, or you will be forced to like what you get.
(nochmal so einer)
0

#3 Mitglied ist offline   Robocop 

  • Gruppe: aktive Mitglieder
  • Beiträge: 35
  • Beigetreten: 27. August 08
  • Reputation: 0

geschrieben 27. August 2008 - 20:27

kein schlechter tipp aber nicht so wirklich das was ich gesucht hab. ich hab vorher selbstverständlich gegoogelt aber nicht wirklich was hilfreiches gefunden... :lol:
0

#4 Mitglied ist offline   LaberLu 

  • Gruppe: aktive Mitglieder
  • Beiträge: 244
  • Beigetreten: 15. November 04
  • Reputation: 0

geschrieben 28. August 2008 - 17:40

ich kann auch kein VB, aber es müsste etwa sowas sein:
(note1*1+note2*2+note3*3+note4*4+note5*5+note6*6)/schüler

Dieser Beitrag wurde von LaberLu bearbeitet: 28. August 2008 - 17:40

Eingefügtes Bild
0

#5 Mitglied ist offline   Ken Guru 

  • Gruppe: aktive Mitglieder
  • Beiträge: 256
  • Beigetreten: 06. November 06
  • Reputation: 0

geschrieben 01. September 2008 - 11:47

Kleine Anmerkung zur Optimierung (Redundanz): Die Anzahl der Schüler in der Klasse ist die Summe der Anzahl der einzelnen Noten.
[X] <- Touch here for a fettfleck on your monitor.
0

#6 Mitglied ist offline   [Elite-|-Killer] 

  • Gruppe: aktive Mitglieder
  • Beiträge: 762
  • Beigetreten: 02. Oktober 05
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Passau

geschrieben 01. September 2008 - 14:13

Beitrag anzeigenZitat (Ken Guru: 01.09.2008, 12:47)

Kleine Anmerkung zur Optimierung (Redundanz): Die Anzahl der Schüler in der Klasse ist die Summe der Anzahl der einzelnen Noten.


Nicht zwangsläufig.
Nicht jeder muss für alles Noten bekommen.

Dieser Beitrag wurde von [Elite-|-Killer] bearbeitet: 01. September 2008 - 14:13

0

#7 Mitglied ist offline   Ken Guru 

  • Gruppe: aktive Mitglieder
  • Beiträge: 256
  • Beigetreten: 06. November 06
  • Reputation: 0

geschrieben 01. September 2008 - 15:25

Beitrag anzeigenZitat ([Elite-|-Killer]: 01.09.2008, 15:13)

Nicht zwangsläufig.
Nicht jeder muss für alles Noten bekommen.


Heinz hat in einer 30-Köpfigen Klasse eine 3 geschrieben. Leider war Heinz der Einzige, der an der Klausur teilgenommen hat. Der Notendurchschnitt ist also 0,1. Ganz grosses Kino! Das kommt dabei heraus, wenn man die Elite killt.

Dieser Beitrag wurde von Ken Guru bearbeitet: 01. September 2008 - 15:27

[X] <- Touch here for a fettfleck on your monitor.
0

#8 Mitglied ist offline   Daniel88 

  • Gruppe: aktive Mitglieder
  • Beiträge: 124
  • Beigetreten: 02. März 06
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Backnang
  • Interessen:Ich hab ICQ und MSN ;) gibts aber net öffentlich.<br />Ich interessiere mich für (fast) alles was mit PCs und so weiter zu tun hat.

geschrieben 01. September 2008 - 15:44

Beitrag anzeigenZitat (Robocop: 27.08.2008, 21:27)

kein schlechter tipp aber nicht so wirklich das was ich gesucht hab. ich hab vorher selbstverständlich gegoogelt aber nicht wirklich was hilfreiches gefunden... :)

Dann tut´s mir leid. Aber was auch ziemlich unklar ist, ist ob du Probleme hast des programmiertechnisch umzusetzen oder obs um die (mathematische) Berechnung geht und du da net ganz weiter weißt.

Beitrag anzeigenZitat (Ken Guru: 01.09.2008, 16:25)

Beitrag anzeigenZitat ([Elite-|-Killer]: 01.09.2008, 15:13)

Nicht zwangsläufig.
Nicht jeder muss für alles Noten bekommen.


Heinz hat in einer 30-Köpfigen Klasse eine 3 geschrieben. Leider war Heinz der Einzige, der an der Klausur teilgenommen hat. Der Notendurchschnitt ist also 0,1. Ganz grosses Kino! Das kommt dabei heraus, wenn man die Elite killt.

Ich denke nicht dass man das hier ins Lächerliche ziehen muss. Das ist ein Übungsbeispiel für die Schule da wird es wohl so gedacht sein dass die Anzahl der Schüler dafür verwendet wird, zur Berechnung.

Dieser Beitrag wurde von Daniel88 bearbeitet: 01. September 2008 - 15:45

It´s nice to be important, but it´s more important to be nice.
(Einer der dollen Sätze von Scooter)
Take care to get what you like, or you will be forced to like what you get.
(nochmal so einer)
0

#9 Mitglied ist offline   M!neo 

  • Gruppe: aktive Mitglieder
  • Beiträge: 380
  • Beigetreten: 08. März 06
  • Reputation: 0
  • Wohnort:Rostwurstcountry (Thüringen)

geschrieben 01. September 2008 - 15:57

Beitrag anzeigenZitat (Ken Guru: 01.09.2008, 16:25)

Heinz hat in einer 30-Köpfigen Klasse eine 3 geschrieben. Leider war Heinz der Einzige, der an der Klausur teilgenommen hat. Der Notendurchschnitt ist also 0,1. Ganz grosses Kino! Das kommt dabei heraus, wenn man die Elite killt.

OT, Beispiel aus dem Unterricht: Ganze Klasse soll nen Vortrag halten, Schüler A,B,C haben vorher schonmal freiwillig was abgegeben, kommen mit dem Vortrag nicht dran (Gnade des Lehrers, Zeitdruck,...) :)
0

#10 Mitglied ist offline   [Elite-|-Killer] 

  • Gruppe: aktive Mitglieder
  • Beiträge: 762
  • Beigetreten: 02. Oktober 05
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Passau

geschrieben 01. September 2008 - 16:26

Ich weis nicht was mancher hier so lustig findet aber zumindestens da wo ich zur Schule gegangen bin hat die Anzahl der vergebenen Noten in Prüfungen selten mit der Anzahl der Schüler in der Klasse übereingestimmt, da selten alle da waren oder bei Extemporalen in der Vorstunde auch anwesend waren. Somit ergeben sich erhelbliche Differenzen im Notenschnitt wenn man einmal mit der Anzahl der vergebenen Note rechnet und einemal mit der Anzahl der Schüler. Zudem war es bei uns üblich, dass zumindestens irgendwo notiert wurde wie viele Leute aus der Klasse mitgeschrieben haben und wie viele nicht. Darum ist es durchaus sinnvoll und ganz großes Kino den Notenschnitt mit der Anzahl der Noten zu berechnen und die Anzahl der Schüler in einer Klasse manuell einzugeben.
Und was bringt schon ein Programm, auch wenn es nur für die Schule als Beispielprojekt gedacht ist, wenn es in der Praxis nicht mal einen einfachen Ausdruck einer Notenübersicht mit Schnitt und Klassenteilnehmer Zahl zustande bringt.
So viel zum ganz großen Kino.
0

#11 Mitglied ist offline   Ken Guru 

  • Gruppe: aktive Mitglieder
  • Beiträge: 256
  • Beigetreten: 06. November 06
  • Reputation: 0

geschrieben 01. September 2008 - 19:17

Beitrag anzeigenZitat (M!neo: 01.09.2008, 16:57)

OT, Beispiel aus dem Unterricht: Ganze Klasse soll nen Vortrag halten, Schüler A,B,C haben vorher schonmal freiwillig was abgegeben, kommen mit dem Vortrag nicht dran (Gnade des Lehrers, Zeitdruck,...) :)


Beitrag anzeigenZitat ([Elite-|-Killer]: 01.09.2008, 16:57)

Ich weis nicht was mancher hier so lustig findet aber zumindestens da wo ich zur Schule gegangen bin hat die Anzahl der vergebenen Noten in Prüfungen selten mit der Anzahl der Schüler in der Klasse übereingestimmt, da selten alle da waren oder bei Extemporalen in der Vorstunde auch anwesend waren. Somit ergeben sich erhelbliche Differenzen im Notenschnitt wenn man einmal mit der Anzahl der vergebenen Note rechnet und einemal mit der Anzahl der Schüler. Zudem war es bei uns üblich, dass zumindestens irgendwo notiert wurde wie viele Leute aus der Klasse mitgeschrieben haben und wie viele nicht. Darum ist es durchaus sinnvoll und ganz großes Kino den Notenschnitt mit der Anzahl der Noten zu berechnen und die Anzahl der Schüler in einer Klasse manuell einzugeben.
Und was bringt schon ein Programm, auch wenn es nur für die Schule als Beispielprojekt gedacht ist, wenn es in der Praxis nicht mal einen einfachen Ausdruck einer Notenübersicht mit Schnitt und Klassenteilnehmer Zahl zustande bringt.
So viel zum ganz großen Kino.


Ihr redet ein Problem herbei, welches sich dem Daniel88 wohl so gar nicht stellt. Die Problemstellung ist doch wohl, eine Arbeit A mit einem abschliessenden Notendurchschnitt zu bewerten. Das kann ich vollständig erst dann, wenn alle Schüler abgegeben haben (zeitliche Verzögerungen durch Abwesenheit berücksichtigt). Erst wenn der letzte Schüler benotet wurde, ist eine absolute Aussage über den Notendurchschnitt möglich. Alles Andere wäre Glaskugelleserei.

Hinzu kommt in der Original-GUI, dass die Gesamtsumme der Noten mit der Anzahl der Schüler auf Plausibilität geprüft werden müsste, da 2 Noten für eine Klausur wohl eher die Ausnahme ist.

Ich denke, dass sich die von Euch genannte Problematik dem Daniel88 in dieser Komplexität gar nicht stellt (da kann am Ende aber nur er wirklich was zu sagen). Insofern muss Daniel88 schon genauer die Rahmenbedingungen spezifizieren. Und da ich glaube, dass das Problem eher simpler Natur ist, wäre mithin mein Optimierungsvorschlag zutreffend.

Aber nun hören wir mal auf, in der Glaskugel zu lesen.

Dieser Beitrag wurde von Ken Guru bearbeitet: 01. September 2008 - 19:18

[X] <- Touch here for a fettfleck on your monitor.
0

#12 Mitglied ist offline   [Elite-|-Killer] 

  • Gruppe: aktive Mitglieder
  • Beiträge: 762
  • Beigetreten: 02. Oktober 05
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Passau

geschrieben 01. September 2008 - 22:41

Beitrag anzeigenZitat (Ken Guru: 01.09.2008, 20:17)

Ihr redet ein Problem herbei, welches sich dem Daniel88 wohl so gar nicht stellt. Die Problemstellung ist doch wohl, eine Arbeit A mit einem abschliessenden Notendurchschnitt zu bewerten. Das kann ich vollständig erst dann, wenn alle Schüler abgegeben haben (zeitliche Verzögerungen durch Abwesenheit berücksichtigt). Erst wenn der letzte Schüler benotet wurde, ist eine absolute Aussage über den Notendurchschnitt möglich. Alles Andere wäre Glaskugelleserei.


Anmerkung: Ich weis ja nur wie es in Bayern aussieht und da ist es definitiv so, dass nicht alle Leistungserhebungen die von einem Schüler versäumt wurden nachgeholt werden müssen, sind eigentlich sogar die Minderheit. Somit ist der Notendurchschnitt bereits vollständig berechenbar, auch wenn nicht von allen Schülern eine Note vorliegt. 
0

#13 Mitglied ist offline   Stefan_der_held 

  • Gruppe: Offizieller Support
  • Beiträge: 14.339
  • Beigetreten: 08. April 06
  • Reputation: 888
  • Geschlecht:Männlich
  • Wohnort:Dortmund NRW
  • Interessen:Alles wo irgendwie Strom durchfließt fasziniert mich einfach weswegen ich halt Elektroinstallateur geworden bin :)

geschrieben 02. September 2008 - 13:46

Ähm ich bin zwar nen bischel usser übung was VB angeht... aber solltest du nicht die Strings für die Noten als Zahl deklarieren um ÜBERHAUPT damit rechnen zu können? :P
0

#14 Mitglied ist offline   Ken Guru 

  • Gruppe: aktive Mitglieder
  • Beiträge: 256
  • Beigetreten: 06. November 06
  • Reputation: 0

geschrieben 05. September 2008 - 23:41

Beitrag anzeigenZitat (Stefan_der_held: 02.09.2008, 14:46)

Ähm ich bin zwar nen bischel usser übung was VB angeht... aber solltest du nicht die Strings für die Noten als Zahl deklarieren um ÜBERHAUPT damit rechnen zu können? :)


Nö, braucht er nicht. Der Datentyp ist automatisch dann Variant. Ist zwar unsauber, aber funktioniert.
[X] <- Touch here for a fettfleck on your monitor.
0

#15 Mitglied ist offline   A.l.e.x 

  • Gruppe: aktive Mitglieder
  • Beiträge: 242
  • Beigetreten: 15. Februar 07
  • Reputation: 0

geschrieben 11. September 2008 - 05:35

Ich habe hier am Laptop noch kein Visual Basic 6.0 installiert, aber es müsste einfach sein es von Visual Basic .NET 2008 zu übernehmen:
   Private Sub btnCalc_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCalc.Click

        Dim Note1 As Integer = n1.Text, Note2 As Integer = n2.Text, Note3 As Integer = n3.Text
        Dim Note4 As Integer = n4.Text, Note5 As Integer = n5.Text, Note6 As Integer = n6.Text
        Dim Schueler As Integer = txtLeute.Text

        Dim Ergebnis As Decimal

        If (Note1 + Note2 + Note3 + Note4 + Note5 + Note6) > Schueler Then MsgBox("Oo mehr Noten als Schüler")

        Ergebnis = FormatNumber((((Note1 * 1) + (Note2 * 2) + (Note3 * 3) + (Note4 * 4) + (Note5 * 5) + (Note6 * 6)) / Schueler), 4)

        txtErgebnis.Text = Ergebnis
    End Sub


In VB6 musst du statt Integer das Format Long benutzen!

Falls du Hilfe brauchst, schreib mich per ICQ an :(
Hab Lynx hier im Forum schon geholfen sein Semester zu schaffen :(
0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0