Forum
Tipps
News
Menu-Icon

Windows XP: Notendurschnitt mittels 'schleifen' ermitteln

Hallo! Dies ist eine Aufgabe die ich zu lösen habe (VB 08 express; Konsolenanwendung). Vielleicht kann mir jemand einen kleinen Gedankenschubs geben.
Danke schonmal im vorraus!
Markus


Sie benötigen eine Schleife Ihre Wahl (Erweiterung: zwei weitere Schleifen anwenden)
   Berechnen Sie den Notendurchschnitt aus genau 4 Zahlen.
•   Die Noten sollen über die Tastatur eingegeben werden.
•   Danach soll die Summe berechnet werden gefolgt von dem Mittelwert.
•   Verwenden Sie eine Kostante (Schlüsselwort?) für den Endwert des Schleifenzählers sowie in der Berechnung des Durchschnitts.
Hinweis: Die Anzahl der Wiederholungen kann somit leicht zu verändern! 
•   Im Antwortsatz soll der Durchschnitt und die Anzahl der eingegebenen Zahlen ausgegeben werden.
•   Verändern Sie die Konstante auf 6, 9 und 15. Testen Sie den Algorithmus mit entsprechend vielen Noten.


So, mein Ansatz:

Module Module1

    Sub Main()
        Dim Zähler As Integer
        Dim Note1 As Integer
        Console.ReadLine()
        Dim Note2 As Intege
        Console.ReadLine()
        Dim Note3 As Integer
        Console.ReadLine()
        Dim Note4 As Integer
        Console.ReadLine()
        Dim Notensumme As Integer
        Dim Notendurchschnitt As Integer
        Notensumme = Note1 + Note2 + Note3 + Note4
        Console.WriteLine("Notensumme" & Notensumme)
        Notendurchschnitt = (Note1 + Note2 + Note3 + Note4) / 4
        Console.WriteLine("Notendurchschnitt=" & Notendurchschnitt)
        Do
            Zähler = Zähler + 1

        Loop Until (Zähler >= Note4)
        Console.ReadLine()
    End Sub

End Module


Funktioniert aber mit der Eingabe noch nicht so richtig!
Wollte eigentlich dass er mir einblendet "Note1=" und dann gibt man die ertse Note ein und nach vier Noten sollte er mir den Durchschnitt verraten aber naja, ein satz mit "x", war wohl nix.
Hat da jemand vielleicht noch nen Rat übrig?


         

« Letzte Änderung: 24.11.10, 19:35:02 von Markus_Slide »

Antworten zu Windows XP: Notendurschnitt mittels 'schleifen' ermitteln:

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Ähm, hab ich hier in Sachen Foren-Knigge irgendwas falsch gemacht?
Hat niemand nen kleinen Hinweis für mich?

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Liest wahrscheinlich niemand, aber naja.
Habe es jetzt einmal ein wenig geändert:



Module Module1

    Sub Main()
        Dim Zähler As Integer
        Dim Note1 As Integer
        Console.ReadLine()
        Dim Note2 As Integer
        Console.ReadLine()
        Dim Note3 As Integer
        Console.ReadLine()
        Dim Note4 As Integer
        Console.ReadLine()
        Dim Notensumme As Integer = (Note1 + Note2 + Note3 + Note4)
        Dim Notendurchschnitt As Integer = ((Note1 + Note2 + Note3 + Note4) / 4)
        Console.WriteLine("Notensumme" & Notensumme)
        Console.WriteLine("Notendurchschnitt=" & Notendurchschnitt)
        Do
            Zähler = Zähler + 1
        Loop Until (Zähler >= Note4)
        Console.ReadLine()
    End Sub

End Modul



Klappt auch nicht viel besser!...

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button
Die Dim gehören nach oben.über Sub Außerdem liest du unten per Console.readline() was von der Tastatur, aber sagst nicht wohin. Das geht also ins Leere.

So wird es z.B. was:

Note1=Console.Readline()
 

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Danke für die Antwort Dr. Nope.
Fantastisch, es funktioniert!

Worin besteht denn der unterschied zwischen dim, wenn ich es über oder unter sub schreibe.
Sonst schrieb ich die dim's immer unter sub und es funktionierte eigentlich immer auf diese weise.
 Stelle die Frage nur um es zu verstehen.
 

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button
Erstmal kann mans besser lesen und dann ist das dann nur in diesem Sub gültig, oben für weitere. Bei einem egal.

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Wow, danke...
ich weiß das ist jetzt nicht die feine englische art aber ich hab da noch eine Aufgabe:
Ich soll jede jede fünfte Zahl im Bereich von -50 bis + 70 getrennt durch einen Stern (*) nebeneinander ausgeben .
Hätte das grundsätzlich so gemacht, aber mit dem Sternchen und dem nebeneinander ausgeben ist damit bei mir wohl nichts zu holen. Kann ich das mit dem Befehl msgbox() machen oder doch eher mit console.readline()?

Module Module1

    Sub Main()
        Dim zaehler As Integer
        zaehler = -50
        Do While (zaehler <= +70)
            MsgBox(zaehler)
            zaehler = zaehler + 5
        Loop

    End Sub

End Module

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button
Du machst ja immer wieder eine neue Box auf die ist dann wieder leer und wird mit einem Wert beschrieben. Man könnte das mit einem Textfeld machen und das befüllen. Oder einfach an der Console z.B.

Console.Write(zaehler & "*")

.Write ohne Line macht keinen Umbruch, schreibt nebeneinander

 

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Achso , danke für die Info, wußte nie was der Unterschied zwischen Writeline und write war, Muss wirklich noch so einiges lernen.

Danke für die Hilfe 


« Windows 7: Visual C++ Express 2008!Greenfoot »
 

Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!

Fremdwörter? Erklärungen im Lexikon!
Dateierweiterung
Die Dateierweiterung, auch oft Erweiterung oder Dateiendung genannt, ist ein Teil des Dateinamens: Sie wird mit einem Punkt von dem eigentlichen Namen getrennt wie zum Be...

Tastatur
  Die Tastatur (englisch: Keyboard) ist eines der wichtigsten Eingabegeräte am PC: Mit ihr lassen sich Texte, Befehle und andere Daten in den Computer eingeb...

LZW-Algorithmus
Der LZW-Algorithmus, benannt nach seinen Erfindern Abraham Lempel, Jacob Ziv und Terry Welch, war in den 1980er Jahren eine wichtige Entwicklung im Bereich der Datenkompr...