+ Antworten
Seite 1 von 2 1 2 LetzteLetzte
Ergebnis 1 bis 25 von 49
  1. #1
    Moderator Avatar von Terr0rSandmann
    Registriert seit
    19.06.2010
    Ort
    Berlin
    Beiträge
    8.967


    • Systeminfo
      • Motherboard:
      • MSI H61MU-E35
      • CPU:
      • Intel Core i3 2100
      • Systemname:
      • Unwichtig 2.0
      • Kühlung:
      • Scythe Big Shurriken
      • Gehäuse:
      • Lian Li PC-A05NB
      • RAM:
      • 2x4GB 1333MHz TeamGroup
      • Grafik:
      • Sapphire 5770 Vapor-X
      • Storage:
      • Samsung F1 320GB + extern (WD 2TB + Maxtor 320GB)
      • Monitor:
      • LG E2240
      • Sound:
      • Westone 4, Superlux HD681 @ FiiO E10
      • Netzteil:
      • Cougar A400
      • Betriebssystem:
      • Win7
      • Sonstiges:
      • Canton Vento 820 @ Pioneer A-209R
      • Notebook:
      • Dell Latitude D420
      • Handy:
      • iPhone 4 16GB weiß

    Standard Anfänger: Wie wird das in C# programmiert? Need help :(

    Hi

    Ich soll in Studium ein kleines Programm in C# schreiben.

    Der User soll 12 Testergebnisse und 4 Übungsergebnisse eingeben können.
    Zum Schluss soll der Durchschnitt ausgerechnet werden, sowohl von den 12 Tests, als auch von den 4 Übungen.
    Diese beiden Durchschnitte zählen 50/50 und ergeben eine Gesamtnote.

    Das ist soweit recht leicht, aber das Programm soll einen Fehler ausspucken, wenn der User zB etwas falsches eingiebt, wie ein Wort statt einer Zahl.
    Zudem soll das Programm eine Meldung machen, wenn der User irgendwie unter 50% im Test/Übung erreicht hat und ihn mitteilen, dass er doch nicht bestanden hat.

    So weit bin ich jetzt:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;

    namespace Üb1
    {
    class Program
    {
    static void Main(string[] args)
    {
    // Tests = x
    // Übungen = y

    int[] Ergebnis_Test = new int[16];
    int[] Ergebnis_Übung = new int[10];

    #region Tests

    for (int x=1; x<13; x++)
    {
    Console.WriteLine("Bitte Testergebnis " + x + " eingeben");
    Ergebnis_Test[x] = Convert.ToInt32(Console.ReadLine());
    }

    Console.WriteLine("Gesamtpunktzahl Tests: " + Ergebnis_Test.Sum());

    int Durchschnitt_Tests = Ergebnis_Test.Sum() / 12;

    Console.WriteLine("Durchschnitt Tests: " + Durchschnitt_Tests);
    Console.WriteLine("Bitte beliebige Zahl oder einen beliebigen Buchstaben eintippen zum fortfahren");
    Console.ReadLine();

    #endregion Tests

    #region Übung

    for (int y = 1; y < 5; y++)
    {
    Console.WriteLine("Bitte Übungsergebnis " + y + " eingeben");
    Ergebnis_Übung[y] = Convert.ToInt32(Console.ReadLine());
    }

    Console.WriteLine("Gesamtpunktzahl der Übungen: " + Ergebnis_Übung.Sum());

    int Durchschnitt_Übung = Ergebnis_Übung.Sum() / 4;

    Console.WriteLine("Durchschnitt Tests: " + Durchschnitt_Übung);
    Console.ReadLine();
    #endregion Übung

    }
    }
    }
    PC: Intel Core i3 2100 @ Big Shurriken, MSI H61MU-E35, Sapphire 5770 Vapor-X, 2x4GB 1333MHz TeamGroup, Samsung F1 320GB, Cougar A400, Lian Li PC-A05NB
    Audio Equipment: Beyerdynamic T70p, Westone 4, Superlux HD681 @ FiiO E10 / iPhone 4
    Heimkino Equipment: Samsung UE32B6000 TV, LG BD550 Blu-ray Player, Onkyo TX SR-605, Klipsch RB-51

    Empfehlenswerte HiFi-Kopfhörer in 6 Preisklassen unterteilt - grobe Kaufempfehlung

  2. #2
    Leutnant zur See
    Registriert seit
    05.11.2007
    Ort
    Neckar-Odenwald Kreis
    Beiträge
    1.158


    Standard

    Für die Fehler bei falscher Eingabe:
    füg in deine For schleife eine FormatExeption ein: ToInt32 Method (String) (übrigens sehr gute Adresse, wenn du nicht weiter kommst)

    Lösung(nicht getestet)
    Spoiler: Anzeigen

    for (int x=1; x<13; x++)
    {
    Console.WriteLine("Bitte Testergebnis " + x + " eingeben");
    try{
    Ergebnis_Test[x] = Convert.ToInt32(Console.ReadLine());
    }
    catch(FormatException)
    {
    Console.Writeline("Falsche Eingabe");
    x = x -1;
    }
    }


    Und das nicht bestanden ist, gilt auch wenn nur einem Wert unter 50%?
    Entweder gleich bei der Eingabe der Werte Prüfen und einen Bool setzen, oder eine for(each) schleife, die den minimalwert raus findet. Ist der Minimalwert kleiner 50% hat er nicht bestanden.

  3. #3
    Bootsmann Avatar von mR.y0
    Registriert seit
    02.01.2006
    Beiträge
    566


    • Systeminfo
      • Motherboard:
      • Asus M4A78T-E
      • CPU:
      • AMD Phenom x4 955 @3,8Ghz
      • Kühlung:
      • Wasser
      • Gehäuse:
      • Lian Li PC-G50
      • RAM:
      • 12 GB - 1333 (2x4Gb + 2x2GB)
      • Grafik:
      • AMD HD6950 2GB @HD6970
      • Storage:
      • im Aufbau (alte Platten+ SSD)
      • Monitor:
      • Dell UltraSharp U2312HM
      • Sound:
      • Heco Metas 700, Onkyo Tx-SR509, BD990 + Yulong
      • Netzteil:
      • Enermax Liberty 500W
      • Betriebssystem:
      • Windows 7 Ultimate 64Bit
      • Sonstiges:
      • Samsung PS51D550 51&quot; Plasma, PS3
      • Notebook:
      • HP Elitebook 8740w + nen Atomdings
      • Handy:
      • Samsung Galaxy S2 @CM9

    Standard

    Zu 1:
    Du kannst einfach an der Stelle
    Ergebnis_Test[x] = Convert.ToInt32(Console.ReadLine());
    ein trycatch verwenden
    try
    {
    Ergebnis_Test[x] = Convert.ToInt32(Console.ReadLine());
    }
    catch
    {
    //Fehler bei Eingabe
    }
    Da hier ein Fehler geschmissen wird wenn es nicht geparsed werden kann. Alternativ ginge auch
    bool erfolgreich = Int32.TryParse(Console.ReadLine(), out Ergebnis_Test[x]);
    Zudem kann man das ganze auch in einer Methode aufrufen die sich bei einem Fehler wiederum selbst aufruft
    private int eingabe()
    {
    int wert = 0;
    Console.Writeline("Einegben:");
    bool erfolgreich = Int32.TryParse(Console.ReadLine(), out wert);
    if (erfolgreich == false)
    {
    console.writeLine("Fehler bei eingabe");
    return eingabe();
    }
    else
    {
    return wert;
    }
    }
    Zu 2:
    Hier muss die maximale erreichbare Punktzahl durch zwei geteilt werden und wenn das diese größer ist als die erreichten Punkte gibt es die Meldung.
    if((Maximale_Punktzahl/2) >= Erreichte_Punktzahl){
    Console.Writeline("nicht erreicht");
    }
    MUHHAHAHAHAHAHAHAHA

  4. #4
    Moderator Avatar von Terr0rSandmann
    Registriert seit
    19.06.2010
    Ort
    Berlin
    Beiträge
    8.967
    Themenstarter


    • Systeminfo
      • Motherboard:
      • MSI H61MU-E35
      • CPU:
      • Intel Core i3 2100
      • Systemname:
      • Unwichtig 2.0
      • Kühlung:
      • Scythe Big Shurriken
      • Gehäuse:
      • Lian Li PC-A05NB
      • RAM:
      • 2x4GB 1333MHz TeamGroup
      • Grafik:
      • Sapphire 5770 Vapor-X
      • Storage:
      • Samsung F1 320GB + extern (WD 2TB + Maxtor 320GB)
      • Monitor:
      • LG E2240
      • Sound:
      • Westone 4, Superlux HD681 @ FiiO E10
      • Netzteil:
      • Cougar A400
      • Betriebssystem:
      • Win7
      • Sonstiges:
      • Canton Vento 820 @ Pioneer A-209R
      • Notebook:
      • Dell Latitude D420
      • Handy:
      • iPhone 4 16GB weiß

    Standard

    Zitat Zitat von unl34shed Beitrag anzeigen

    Und das nicht bestanden ist, gilt auch wenn nur einem Wert unter 50%?
    Entweder gleich bei der Eingabe der Werte Prüfen und einen Bool setzen, oder eine for(each) schleife, die den minimalwert raus findet. Ist der Minimalwert kleiner 50% hat er nicht bestanden.
    Ja, sobald ein einizges Ergebnis unter 50% ist, hat der User nicht bestanden.


    Und danke schon einmal an euch 2, dass ihr mir so schnell geantwortet habt.
    Werde mal probieren, was ich da jetzt aus euern Informationen entnehmen und verbauen kann
    PC: Intel Core i3 2100 @ Big Shurriken, MSI H61MU-E35, Sapphire 5770 Vapor-X, 2x4GB 1333MHz TeamGroup, Samsung F1 320GB, Cougar A400, Lian Li PC-A05NB
    Audio Equipment: Beyerdynamic T70p, Westone 4, Superlux HD681 @ FiiO E10 / iPhone 4
    Heimkino Equipment: Samsung UE32B6000 TV, LG BD550 Blu-ray Player, Onkyo TX SR-605, Klipsch RB-51

    Empfehlenswerte HiFi-Kopfhörer in 6 Preisklassen unterteilt - grobe Kaufempfehlung

  5. #5
    Moderator Avatar von Terr0rSandmann
    Registriert seit
    19.06.2010
    Ort
    Berlin
    Beiträge
    8.967
    Themenstarter


    • Systeminfo
      • Motherboard:
      • MSI H61MU-E35
      • CPU:
      • Intel Core i3 2100
      • Systemname:
      • Unwichtig 2.0
      • Kühlung:
      • Scythe Big Shurriken
      • Gehäuse:
      • Lian Li PC-A05NB
      • RAM:
      • 2x4GB 1333MHz TeamGroup
      • Grafik:
      • Sapphire 5770 Vapor-X
      • Storage:
      • Samsung F1 320GB + extern (WD 2TB + Maxtor 320GB)
      • Monitor:
      • LG E2240
      • Sound:
      • Westone 4, Superlux HD681 @ FiiO E10
      • Netzteil:
      • Cougar A400
      • Betriebssystem:
      • Win7
      • Sonstiges:
      • Canton Vento 820 @ Pioneer A-209R
      • Notebook:
      • Dell Latitude D420
      • Handy:
      • iPhone 4 16GB weiß

    Standard

    Hmm ... nun rumprobiert und was soll ich sagen ... ich kriege es irgendwie nicht hin

    Aktuell sieht es so aus:
    namespace Üb1
    {
    class Program
    {
    static void Main(string[] args)
    {
    // Tests = x
    // Übungen = y

    int[] Ergebnis_Test = new int[16];
    int[] Ergebnis_Übung = new int[10];

    #region Tests
    for (int x = 1; x < 13; x++)
    {
    Console.WriteLine("\nBitte Testergebnis " + x + " eingeben");
    Ergebnis_Test[x] = Convert.ToInt32(Console.ReadLine());

    if (Ergebnis_Test[x] <= 50)
    {
    Console.WriteLine("Unter 50%, leider nicht bestanden.");
    }
    else
    {
    Console.WriteLine("Super, dieser Test wurde bestanden.");
    }
    }

    Console.WriteLine("\nGesamtpunktzahl Tests: " + Ergebnis_Test.Sum());

    int Durchschnitt_Tests = Ergebnis_Test.Sum() / 12;

    Console.WriteLine("Durchschnitt Tests: " + Durchschnitt_Tests);
    Console.WriteLine("\n");
    #endregion Tests



    #region Übung
    for (int y = 1; y < 5; y++)
    {
    Console.WriteLine("\nBitte Übungsergebnis " + y + " eingeben");
    Ergebnis_Übung[y] = Convert.ToInt32(Console.ReadLine());

    if (Ergebnis_Übung[y] <= 50)
    {
    Console.WriteLine("Unter 50%, leider nicht bestanden.");
    }
    else
    {
    Console.WriteLine("Super, diese Übrung wurde bestanden.");
    }
    }

    Console.WriteLine("\nGesamtpunktzahl der Übungen: " + Ergebnis_Übung.Sum());

    int Durchschnitt_Übung = Ergebnis_Übung.Sum() / 4;

    Console.WriteLine("Durchschnitt Tests: " + Durchschnitt_Übung);
    #endregion Übung


    #region Bestanden/Nicht bestanden
    int Gesamtergebnis = (Durchschnitt_Tests + Durchschnitt_Übung)/2;

    if (Gesamtergebnis <= 50)
    {
    Console.WriteLine("\nUnter 50%, leider nicht bestanden.");
    }

    else
    {
    Console.WriteLine("\nSuper, bestanden.");
    }
    Console.ReadLine();
    #endregion Bestanden/Nicht bestanden

    }
    }
    }

    Ich weiß leider nicht, ich das mache, dass er einen Fehler ausspucht, wenn ein einziges Ergebnis unter 50% ist.
    Er sagt dem User zwar an, dass er da unter 50% hat ode rhalt über 50%, allerdings weiß ich nicht, wie ich das dann anstelle, dass er dem User sagt, wenn er alle Werte eingetragen hat, das er nicht bestanden hat, wenn ein Ergebnis unter 50% war.
    Oder wie er das macht, wenn zb anstatt einer Punktzahl ein Wort/Buchstabe eingetippt wird, dass er dann die Eingabe wiederholen will.

    Kann mir da wer helfen? Vllt wo einfach was reinkopieren ...
    Geändert von Terr0rSandmann (04.11.11 um 17:37 Uhr)
    PC: Intel Core i3 2100 @ Big Shurriken, MSI H61MU-E35, Sapphire 5770 Vapor-X, 2x4GB 1333MHz TeamGroup, Samsung F1 320GB, Cougar A400, Lian Li PC-A05NB
    Audio Equipment: Beyerdynamic T70p, Westone 4, Superlux HD681 @ FiiO E10 / iPhone 4
    Heimkino Equipment: Samsung UE32B6000 TV, LG BD550 Blu-ray Player, Onkyo TX SR-605, Klipsch RB-51

    Empfehlenswerte HiFi-Kopfhörer in 6 Preisklassen unterteilt - grobe Kaufempfehlung

  6. #6
    Moderator Avatar von Terr0rSandmann
    Registriert seit
    19.06.2010
    Ort
    Berlin
    Beiträge
    8.967
    Themenstarter


    • Systeminfo
      • Motherboard:
      • MSI H61MU-E35
      • CPU:
      • Intel Core i3 2100
      • Systemname:
      • Unwichtig 2.0
      • Kühlung:
      • Scythe Big Shurriken
      • Gehäuse:
      • Lian Li PC-A05NB
      • RAM:
      • 2x4GB 1333MHz TeamGroup
      • Grafik:
      • Sapphire 5770 Vapor-X
      • Storage:
      • Samsung F1 320GB + extern (WD 2TB + Maxtor 320GB)
      • Monitor:
      • LG E2240
      • Sound:
      • Westone 4, Superlux HD681 @ FiiO E10
      • Netzteil:
      • Cougar A400
      • Betriebssystem:
      • Win7
      • Sonstiges:
      • Canton Vento 820 @ Pioneer A-209R
      • Notebook:
      • Dell Latitude D420
      • Handy:
      • iPhone 4 16GB weiß

    Standard

    Puhh ... niemand? Muss das bis Di Abend abgeben und bin voll überfordert
    PC: Intel Core i3 2100 @ Big Shurriken, MSI H61MU-E35, Sapphire 5770 Vapor-X, 2x4GB 1333MHz TeamGroup, Samsung F1 320GB, Cougar A400, Lian Li PC-A05NB
    Audio Equipment: Beyerdynamic T70p, Westone 4, Superlux HD681 @ FiiO E10 / iPhone 4
    Heimkino Equipment: Samsung UE32B6000 TV, LG BD550 Blu-ray Player, Onkyo TX SR-605, Klipsch RB-51

    Empfehlenswerte HiFi-Kopfhörer in 6 Preisklassen unterteilt - grobe Kaufempfehlung

  7. #7
    Leutnant zur See
    Registriert seit
    18.03.2007
    Beiträge
    1.189


    Standard

    "Er sagt dem User zwar an, dass er da unter 50% hat ode rhalt über 50%, allerdings weiß ich nicht, wie ich das dann anstelle, dass er dem User sagt, wenn er alle Werte eingetragen hat, das er nicht bestanden hat, wenn ein Ergebnis unter 50% war."

    Nach jeder Eingabe und erfolgreicher Prüfung, dass es eine Zahl ist, wird geprüft, ob es unter 50% ist. Wenn ja, setz einfach eine Variable auf true (Typ boolean), die kannst du z.B. unter50prozent nennen. Am Ende wertest du diese einfach aus: Ist sie wahr, dann wahr ein Ergebnis unter 50%.

    Bzgl. prüfen, einer schrieb doch:
    Code:
    try
     {
     Ergebnis_Test[x] = Convert.ToInt32(Console.ReadLine());
     }
     catch
     {
     //Fehler bei Eingabe
     }
    du hast aber nur
    Code:
    Ergebnis_Test[x] = Convert.ToInt32(Console.ReadLine());
    Nimm einfach die Eingabe in eine Schleife. Im catch wird der Fehler gefangen, dort setzt du x = x-1, sodass er aktuelle Durchlauf noch einmal geschieht.
    Geändert von Thunderhit (07.11.11 um 20:17 Uhr)
    Intel Core 2 Duo E6420 @ 2,8GHZ
    Sapphire HD 5850
    MDT 4GB DDR2-800
    Cooler Master Stacker STC-T01
    Gigabyte DS3P
    Windows 7 Prof. 64bit

  8. #8
    Moderator Avatar von Terr0rSandmann
    Registriert seit
    19.06.2010
    Ort
    Berlin
    Beiträge
    8.967
    Themenstarter


    • Systeminfo
      • Motherboard:
      • MSI H61MU-E35
      • CPU:
      • Intel Core i3 2100
      • Systemname:
      • Unwichtig 2.0
      • Kühlung:
      • Scythe Big Shurriken
      • Gehäuse:
      • Lian Li PC-A05NB
      • RAM:
      • 2x4GB 1333MHz TeamGroup
      • Grafik:
      • Sapphire 5770 Vapor-X
      • Storage:
      • Samsung F1 320GB + extern (WD 2TB + Maxtor 320GB)
      • Monitor:
      • LG E2240
      • Sound:
      • Westone 4, Superlux HD681 @ FiiO E10
      • Netzteil:
      • Cougar A400
      • Betriebssystem:
      • Win7
      • Sonstiges:
      • Canton Vento 820 @ Pioneer A-209R
      • Notebook:
      • Dell Latitude D420
      • Handy:
      • iPhone 4 16GB weiß

    Standard

    Wo genau muss den die bool Sache hin? Also an welche Stelle muss ich das einbauen und wie muss die Anweisung denn aussehen? Habe noch nie mit bool gearbeitet.
    (habe erst seit Okt. 2011 C#, also totaler Noob )
    PC: Intel Core i3 2100 @ Big Shurriken, MSI H61MU-E35, Sapphire 5770 Vapor-X, 2x4GB 1333MHz TeamGroup, Samsung F1 320GB, Cougar A400, Lian Li PC-A05NB
    Audio Equipment: Beyerdynamic T70p, Westone 4, Superlux HD681 @ FiiO E10 / iPhone 4
    Heimkino Equipment: Samsung UE32B6000 TV, LG BD550 Blu-ray Player, Onkyo TX SR-605, Klipsch RB-51

    Empfehlenswerte HiFi-Kopfhörer in 6 Preisklassen unterteilt - grobe Kaufempfehlung

  9. #9
    Oberleutnant zur See Avatar von m0rf
    Registriert seit
    11.02.2006
    Beiträge
    1.349


    Standard

    bool hasFailed = false;

    if (Ergebnis_Übung[y] < 50)
    {
    Console.WriteLine("Unter 50%, leider nicht bestanden.");
    hasFailed = true;
    }
    else
    {
    Console.WriteLine("Super, diese Übrung wurde bestanden.");
    }
    }

    if(hasFailed){
    Console.WriteLine("Übung insgesamt nicht bestanden, da ein Ergebnis unter 50%");
    }

  10. #10
    Moderator Avatar von Terr0rSandmann
    Registriert seit
    19.06.2010
    Ort
    Berlin
    Beiträge
    8.967
    Themenstarter


    • Systeminfo
      • Motherboard:
      • MSI H61MU-E35
      • CPU:
      • Intel Core i3 2100
      • Systemname:
      • Unwichtig 2.0
      • Kühlung:
      • Scythe Big Shurriken
      • Gehäuse:
      • Lian Li PC-A05NB
      • RAM:
      • 2x4GB 1333MHz TeamGroup
      • Grafik:
      • Sapphire 5770 Vapor-X
      • Storage:
      • Samsung F1 320GB + extern (WD 2TB + Maxtor 320GB)
      • Monitor:
      • LG E2240
      • Sound:
      • Westone 4, Superlux HD681 @ FiiO E10
      • Netzteil:
      • Cougar A400
      • Betriebssystem:
      • Win7
      • Sonstiges:
      • Canton Vento 820 @ Pioneer A-209R
      • Notebook:
      • Dell Latitude D420
      • Handy:
      • iPhone 4 16GB weiß

    Standard

    Toll ... nun habe ich erfahren, dass das leicht anders ist.

    Die Tests sind in 4 Blöcken gestaffelt.
    Entweder man schafft die 3 Tests vom Block mit über 50% oder die Übung mit mind. 50%.
    Um zum Schluss für für die Endprüfung zugelassen zu werden, müssen alle 4 Blöcke bestanden sein.

    Also ...

    Test 1 - 3 über 50% oder Übung1 über 50%.
    Test 4 - 6 über 50% oder Übung2 über 50%.
    Test 7 - 9 über 50% oder Übung3 über 50%.
    Test 10 - 12 über 50% oder Übung 4 über 50%.

    Puhhh ... das ist ja echt kacke
    PC: Intel Core i3 2100 @ Big Shurriken, MSI H61MU-E35, Sapphire 5770 Vapor-X, 2x4GB 1333MHz TeamGroup, Samsung F1 320GB, Cougar A400, Lian Li PC-A05NB
    Audio Equipment: Beyerdynamic T70p, Westone 4, Superlux HD681 @ FiiO E10 / iPhone 4
    Heimkino Equipment: Samsung UE32B6000 TV, LG BD550 Blu-ray Player, Onkyo TX SR-605, Klipsch RB-51

    Empfehlenswerte HiFi-Kopfhörer in 6 Preisklassen unterteilt - grobe Kaufempfehlung

  11. #11
    Leutnant zur See
    Registriert seit
    05.11.2007
    Ort
    Neckar-Odenwald Kreis
    Beiträge
    1.158


    Standard

    Auch nicht viel schwerer. Dein einlesen der Übungen und Tests ist fertig, wenn du das noch einbaust:

    Erklärung:
    - Mit try versucht er, wie der name schon sagt, den Wert einzulesen und zu convertieren, bei irgend einem Fehler, wird dieser mit catch abgefangen und behandelt. Mehr hier: try-catch )
    - x = x -1; sorgt dafür, dass der falsche Wert erneut eingegeben werden muss.

    for (int x=1; x<13; x++)
    {
    Console.WriteLine("Bitte Testergebnis " + x + " eingeben");
    try{
    Ergebnis_Test[x] = Convert.ToInt32(Console.ReadLine());
    }
    catch
    {
    Console.Writeline("Falsche Eingabe");
    x = x -1;
    }
    }
    *Das selbe auch bei allen anderen Eingaben, die Fehler verursachen können.


    kleiner Typo: Console.WriteLine("Durchschnitt Tests: " + Durchschnitt_Übung);



    So jetzt zu den Abfragen:

    du kannst If-Abfragen auch UND-Verknüpfen, mit einem &&
    z.B:
    IF(Test1 >50 && Test2 > 50 && Test3 > 50)
    {PART1 bestanden}
    IF(Ügung1 > 50)
    {PART1 bestanden}
    ...
    IF(PART1 bestanden && PART" bestanden && PART3 bestanden && PART4 bestanden)
    {"Du hast bestanden"
    }else{
    "Loser "
    }
    Ich würde persönlich einen Bool benutzen, kannst aber auch einen int nehmen und +1 zählen, wenn er größer 1 ist, hat man bestanden.

    PS: lern das auch erst seit Oktober, das ist keine Ausrede
    Geändert von unl34shed (08.11.11 um 19:14 Uhr)

  12. #12
    Oberleutnant zur See Avatar von m0rf
    Registriert seit
    11.02.2006
    Beiträge
    1.349


    Standard

    Jo, das ist die Lösung. Man muss es eben nur noch mit den richtigen Variablen ergänzen.

  13. #13
    Moderator Avatar von Terr0rSandmann
    Registriert seit
    19.06.2010
    Ort
    Berlin
    Beiträge
    8.967
    Themenstarter


    • Systeminfo
      • Motherboard:
      • MSI H61MU-E35
      • CPU:
      • Intel Core i3 2100
      • Systemname:
      • Unwichtig 2.0
      • Kühlung:
      • Scythe Big Shurriken
      • Gehäuse:
      • Lian Li PC-A05NB
      • RAM:
      • 2x4GB 1333MHz TeamGroup
      • Grafik:
      • Sapphire 5770 Vapor-X
      • Storage:
      • Samsung F1 320GB + extern (WD 2TB + Maxtor 320GB)
      • Monitor:
      • LG E2240
      • Sound:
      • Westone 4, Superlux HD681 @ FiiO E10
      • Netzteil:
      • Cougar A400
      • Betriebssystem:
      • Win7
      • Sonstiges:
      • Canton Vento 820 @ Pioneer A-209R
      • Notebook:
      • Dell Latitude D420
      • Handy:
      • iPhone 4 16GB weiß

    Standard

    Mal hier ein aktueller Ausschnitt der Region Test:

    #region Tests
    for (int x = 1; x < 13; x++)
    {
    Console.WriteLine("\nBitte Testergebnis " + x + " eingeben");


    try
    {
    Ergebnis_Test[x] = Convert.ToInt32(Console.ReadLine());
    if (Ergebnis_Test[x] < 0 || Ergebnis_Test[x] > 100) // nur Zahlen von 0 - 100
    {
    Console.WriteLine("\nFalsche Eingabe, bitte erneut eingeben");
    }
    }
    catch
    {
    Console.WriteLine("Eingabe fehlerhaft, bitte wiederholen.");
    x--;
    }

    bool hasFailed = false;

    if (Ergebnis_Test[x] < 50)
    {
    Console.WriteLine("Leider kein gutes Ergebnis.");
    hasFailed = true;
    }
    else if (Ergebnis_Test[x] < 101)
    {
    Console.WriteLine("Super, dieser Test wurde bestanden.");
    }
    else
    {
    Console.WriteLine("Ungültige Eingabe.");
    x--;
    }
    if (hasFailed)
    {
    Console.WriteLine("Test nicht bestanden, da ein Ergebnis unter 50%.");
    }


    }

    Console.WriteLine("\nGesamtpunktzahl Tests: " + Ergebnis_Test.Sum());

    int Durchschnitt_Tests = Ergebnis_Test.Sum() / 12;

    Console.WriteLine("Durchschnitt Tests: " + Durchschnitt_Tests);
    Console.WriteLine("\n");
    #endregion Tests
    Funzt soweit halbwegs. Er merkt, wenn ich eine Zahl über 100 eintippe, dass die Eingabe falsch war und fragt das Ergebnis erneut ab.
    Wenn ich allerdings einen Buchstabe oder ein Wort eintippe, dann sagt er mir zwar, dass die Eingabe fehlerhaft ist, sagt mir aber zusätzlich, dass der Test bestanden wurde, was ja totaler Quatsch ist.
    Wo genau liegt denn da der Fehler? Bzw wie mache ich ihm klar, dass er das nicht so ausgeben soll?
    Geändert von Terr0rSandmann (08.11.11 um 19:32 Uhr)
    PC: Intel Core i3 2100 @ Big Shurriken, MSI H61MU-E35, Sapphire 5770 Vapor-X, 2x4GB 1333MHz TeamGroup, Samsung F1 320GB, Cougar A400, Lian Li PC-A05NB
    Audio Equipment: Beyerdynamic T70p, Westone 4, Superlux HD681 @ FiiO E10 / iPhone 4
    Heimkino Equipment: Samsung UE32B6000 TV, LG BD550 Blu-ray Player, Onkyo TX SR-605, Klipsch RB-51

    Empfehlenswerte HiFi-Kopfhörer in 6 Preisklassen unterteilt - grobe Kaufempfehlung

  14. #14
    Leutnant zur See
    Registriert seit
    05.11.2007
    Ort
    Neckar-Odenwald Kreis
    Beiträge
    1.158


    Standard

    Das catch liegt an der falschen Stelle. Das Programm arbeitet einen Befehl nach dem anderen ab.
    Die ganzen Abfragen ob bestanden oder nicht, kommen nach catch, werden also alle überprüft egal oder der Wert stimmt oder nicht.
    Geändert von unl34shed (08.11.11 um 19:39 Uhr)

  15. #15
    Moderator Avatar von Terr0rSandmann
    Registriert seit
    19.06.2010
    Ort
    Berlin
    Beiträge
    8.967
    Themenstarter


    • Systeminfo
      • Motherboard:
      • MSI H61MU-E35
      • CPU:
      • Intel Core i3 2100
      • Systemname:
      • Unwichtig 2.0
      • Kühlung:
      • Scythe Big Shurriken
      • Gehäuse:
      • Lian Li PC-A05NB
      • RAM:
      • 2x4GB 1333MHz TeamGroup
      • Grafik:
      • Sapphire 5770 Vapor-X
      • Storage:
      • Samsung F1 320GB + extern (WD 2TB + Maxtor 320GB)
      • Monitor:
      • LG E2240
      • Sound:
      • Westone 4, Superlux HD681 @ FiiO E10
      • Netzteil:
      • Cougar A400
      • Betriebssystem:
      • Win7
      • Sonstiges:
      • Canton Vento 820 @ Pioneer A-209R
      • Notebook:
      • Dell Latitude D420
      • Handy:
      • iPhone 4 16GB weiß

    Standard

    Aber das ist doch nach dem Catch, oder? Verstehe das nciht ganz, wie du das meinst ...
    Geändert von Terr0rSandmann (08.11.11 um 19:43 Uhr)
    PC: Intel Core i3 2100 @ Big Shurriken, MSI H61MU-E35, Sapphire 5770 Vapor-X, 2x4GB 1333MHz TeamGroup, Samsung F1 320GB, Cougar A400, Lian Li PC-A05NB
    Audio Equipment: Beyerdynamic T70p, Westone 4, Superlux HD681 @ FiiO E10 / iPhone 4
    Heimkino Equipment: Samsung UE32B6000 TV, LG BD550 Blu-ray Player, Onkyo TX SR-605, Klipsch RB-51

    Empfehlenswerte HiFi-Kopfhörer in 6 Preisklassen unterteilt - grobe Kaufempfehlung

  16. #16
    Leutnant zur See
    Registriert seit
    05.11.2007
    Ort
    Neckar-Odenwald Kreis
    Beiträge
    1.158


    Standard

    Bei der try catch versucht er das was in try drin steht auszuführen.
    bei irgend einem Fehler wird das im catch ausgeführt
    Danach arbeitet er deine for-schleife einfach weiter ab, nur dass es keinen eingelesenen Wert gibt, da er ja falsch war.

    Oder glaubst, dass er wegen dem x-- wieder von vorne anfängt?
    Das macht er nicht, eine For schleife vergleicht immer nur vor jedem Durchlauf der schleife, ob die Bedingung noch zu trift.

  17. #17
    Oberleutnant zur See Avatar von m0rf
    Registriert seit
    11.02.2006
    Beiträge
    1.349


    Standard

    Die Schleife wird trotzdem weiter bearbeitet, trotz des Fehlers.
    Du kannst enweder den code ab bool mit in den try-Block packen, oder nach x--; ein continue; anfügen ;D
    Geändert von m0rf (08.11.11 um 19:49 Uhr)

  18. #18
    Leutnant zur See
    Registriert seit
    05.11.2007
    Ort
    Neckar-Odenwald Kreis
    Beiträge
    1.158


    Standard

    oder so

    hey cool continue kannt ich noch nicht, thx m0rf
    Geändert von unl34shed (08.11.11 um 19:54 Uhr)

  19. #19
    Moderator Avatar von Terr0rSandmann
    Registriert seit
    19.06.2010
    Ort
    Berlin
    Beiträge
    8.967
    Themenstarter


    • Systeminfo
      • Motherboard:
      • MSI H61MU-E35
      • CPU:
      • Intel Core i3 2100
      • Systemname:
      • Unwichtig 2.0
      • Kühlung:
      • Scythe Big Shurriken
      • Gehäuse:
      • Lian Li PC-A05NB
      • RAM:
      • 2x4GB 1333MHz TeamGroup
      • Grafik:
      • Sapphire 5770 Vapor-X
      • Storage:
      • Samsung F1 320GB + extern (WD 2TB + Maxtor 320GB)
      • Monitor:
      • LG E2240
      • Sound:
      • Westone 4, Superlux HD681 @ FiiO E10
      • Netzteil:
      • Cougar A400
      • Betriebssystem:
      • Win7
      • Sonstiges:
      • Canton Vento 820 @ Pioneer A-209R
      • Notebook:
      • Dell Latitude D420
      • Handy:
      • iPhone 4 16GB weiß

    Standard

    Ah super, das mit continue; funktioniert.
    Toll ... nun habe ich aber irgendetwas gemacht, wieso er nicht mehr weiter macht und das Programm abstürzt, wenn ich einen Buchstaben eingebe.
    Puhh ... Alles Mist ^^


    Edit:

    Etwas verwirrend, wenn er nicht einrückt, hoffe ihr erkennt es trotzdem.
    Funktioniert soweit halbwegs, nur das mit den Bestehen der Blöcke fehlt wohl ...

    namespace Üb1
    {
    class Program
    {
    static void Main(string[] args)
    {
    // Tests = x
    // Übungen = y

    int[] Ergebnis_Test = new int[16];
    int[] Ergebnis_Übung = new int[10];

    #region Tests
    for (int x = 1; x < 13; x++)
    {
    Console.WriteLine("\nBitte Testergebnis " + x + " eingeben (in %)");


    try
    {
    Ergebnis_Test[x] = Convert.ToInt32(Console.ReadLine());
    if (Ergebnis_Test[x] < 0 || Ergebnis_Test[x] > 100)
    {

    }
    }
    catch
    {
    Console.WriteLine("Eingabe fehlerhaft, bitte wiederholen.\nBuchstaben sind nicht gültig.");
    x--;
    continue;
    }

    if (Ergebnis_Test[x] < 0 || Ergebnis_Test[x] > 100)
    {
    Console.WriteLine("\nFalsche Eingabe, bitte erneut eingeben.");
    }


    bool hasFailed = false;

    if (Ergebnis_Test[x] < 50)
    {
    Console.WriteLine("Leider kein gutes Ergebnis.");
    hasFailed = true;
    }
    else if (Ergebnis_Test[x] < 101)
    {
    Console.WriteLine("Super, dieser Test wurde bestanden.");
    }
    else
    {
    Console.WriteLine("Nur Zahlen von 0 bis 100.");
    x--;
    continue;
    }
    if (hasFailed)
    {
    Console.WriteLine("Test nicht bestanden, da ein Ergebnis unter 50%.");
    }


    }

    Console.WriteLine("\nGesamtpunktzahl Tests: " + Ergebnis_Test.Sum());

    int Durchschnitt_Tests = Ergebnis_Test.Sum() / 12;

    Console.WriteLine("Durchschnitt Tests: " + Durchschnitt_Tests);
    Console.WriteLine("\n");
    #endregion Tests



    #region Übung
    for (int y = 1; y < 5; y++)
    {
    Console.WriteLine("\nBitte Testergebnis " + y + " eingeben (in %)");


    try
    {
    Ergebnis_Übung[y] = Convert.ToInt32(Console.ReadLine());
    if (Ergebnis_Übung[y] < 0 || Ergebnis_Übung[y] > 100)
    {

    }
    }
    catch
    {
    Console.WriteLine("Eingabe fehlerhaft, bitte wiederholen.\nBuchstaben sind nicht gültig.");
    y--;
    continue;
    }

    if (Ergebnis_Übung[y] < 0 || Ergebnis_Übung[y] > 100)
    {
    Console.WriteLine("\nFalsche Eingabe, bitte erneut eingeben.");
    }


    bool hasFailed = false;

    if (Ergebnis_Übung[y] < 50)
    {
    Console.WriteLine("Leider kein gutes Ergebnis.");
    hasFailed = true;
    }
    else if (Ergebnis_Übung[y] < 101)
    {
    Console.WriteLine("Super, diese Übung wurde bestanden.");
    }
    else
    {
    Console.WriteLine("Nur Zahlen von 0 bis 100.");
    y--;
    continue;
    }
    if (hasFailed)
    {
    Console.WriteLine("Übung nicht bestanden, da ein Ergebnis unter 50%.");
    }


    }

    Console.WriteLine("\nGesamtpunktzahl der Übungen: " + Ergebnis_Übung.Sum());

    int Durchschnitt_Übung = Ergebnis_Übung.Sum() / 4;

    Console.WriteLine("Durchschnitt Tests: " + Durchschnitt_Übung);
    #endregion Übung


    #region Bestanden/Nicht bestanden

    int Gesamtergebnis = (Durchschnitt_Tests + Durchschnitt_Übung) / 2;

    if (Gesamtergebnis < 50)
    {
    Console.WriteLine("\nUnter 50% in der Gesamtwertung, leider nicht bestanden.");
    }

    else
    {
    Console.WriteLine("\nSuper, du hast bestanden.");
    }
    Console.ReadLine();
    #endregion Bestanden/Nicht bestanden


    }
    }
    }
    Es funktioniert jetzt recht gut. Er meldet einen Fehler, wenn die eingegebene Zahl über 100 ist und will das Ergebnis erneut wissen. Wenn ich einen Buchstaben eingebe, dann meldet er, das Buchstaben nicht zulässig sind udn möchte das Ergebnis erneut wissen.
    Soweit, so gut

    Nun ist nur noch das Problem mit dem bestehen der Teilblöcke
    Zitat Zitat von Terr0rSandmann Beitrag anzeigen

    Die Tests sind in 4 Blöcken gestaffelt.
    Entweder man schafft die 3 Tests vom Block mit über 50% oder die Übung mit mind. 50%.
    Um zum Schluss für für die Endprüfung zugelassen zu werden, müssen alle 4 Blöcke bestanden sein.

    Also ...

    Test 1 - 3 über 50% oder Übung1 über 50%.
    Test 4 - 6 über 50% oder Übung2 über 50%.
    Test 7 - 9 über 50% oder Übung3 über 50%.
    Test 10 - 12 über 50% oder Übung 4 über 50%.
    Geändert von Terr0rSandmann (08.11.11 um 20:14 Uhr)
    PC: Intel Core i3 2100 @ Big Shurriken, MSI H61MU-E35, Sapphire 5770 Vapor-X, 2x4GB 1333MHz TeamGroup, Samsung F1 320GB, Cougar A400, Lian Li PC-A05NB
    Audio Equipment: Beyerdynamic T70p, Westone 4, Superlux HD681 @ FiiO E10 / iPhone 4
    Heimkino Equipment: Samsung UE32B6000 TV, LG BD550 Blu-ray Player, Onkyo TX SR-605, Klipsch RB-51

    Empfehlenswerte HiFi-Kopfhörer in 6 Preisklassen unterteilt - grobe Kaufempfehlung

  20. #20
    Oberleutnant zur See Avatar von m0rf
    Registriert seit
    11.02.2006
    Beiträge
    1.349


    Standard

    Das wäre für 1 den ersten Teilblock

    Code:
    if(Ergebnis_Test[0] < 50 || Ergebnis_Test[1] < 50 || Ergebnis_Test[2] < 50 || Ergebnis_Übung[1] < 50){
    Console.WriteLine("Fail");
    }
    else
    Console.WriteLine("Win");
    Jetzt frag nicht wieder, wo das hingehört und wie man das für die anderen Blöcke macht. Schau dir das in Ruhe an, dann ist das recht leicht zu verstehen.

  21. #21
    Moderator Avatar von Terr0rSandmann
    Registriert seit
    19.06.2010
    Ort
    Berlin
    Beiträge
    8.967
    Themenstarter


    • Systeminfo
      • Motherboard:
      • MSI H61MU-E35
      • CPU:
      • Intel Core i3 2100
      • Systemname:
      • Unwichtig 2.0
      • Kühlung:
      • Scythe Big Shurriken
      • Gehäuse:
      • Lian Li PC-A05NB
      • RAM:
      • 2x4GB 1333MHz TeamGroup
      • Grafik:
      • Sapphire 5770 Vapor-X
      • Storage:
      • Samsung F1 320GB + extern (WD 2TB + Maxtor 320GB)
      • Monitor:
      • LG E2240
      • Sound:
      • Westone 4, Superlux HD681 @ FiiO E10
      • Netzteil:
      • Cougar A400
      • Betriebssystem:
      • Win7
      • Sonstiges:
      • Canton Vento 820 @ Pioneer A-209R
      • Notebook:
      • Dell Latitude D420
      • Handy:
      • iPhone 4 16GB weiß

    Standard

    Ah ok, das leuchtet ein

    Wusste nur nicht genau, wie ich die einzelnen Arrayteile so direkt anspreche.

    Edit:
    Eine kleine Sache.
    In der Bedingung symbolisiert && und ||ein UND. Wie wird denn das ODER geschrieben?
    Denn ich brauche für zB Testblock1 -> Test1 & Test2 & Test3 ODER Übung1 zum bestehen ...
    Geändert von Terr0rSandmann (08.11.11 um 20:35 Uhr)
    PC: Intel Core i3 2100 @ Big Shurriken, MSI H61MU-E35, Sapphire 5770 Vapor-X, 2x4GB 1333MHz TeamGroup, Samsung F1 320GB, Cougar A400, Lian Li PC-A05NB
    Audio Equipment: Beyerdynamic T70p, Westone 4, Superlux HD681 @ FiiO E10 / iPhone 4
    Heimkino Equipment: Samsung UE32B6000 TV, LG BD550 Blu-ray Player, Onkyo TX SR-605, Klipsch RB-51

    Empfehlenswerte HiFi-Kopfhörer in 6 Preisklassen unterteilt - grobe Kaufempfehlung

  22. #22
    Leutnant zur See
    Registriert seit
    05.11.2007
    Ort
    Neckar-Odenwald Kreis
    Beiträge
    1.158


    Standard

    && = und

    || = oder

  23. #23
    Moderator Avatar von Terr0rSandmann
    Registriert seit
    19.06.2010
    Ort
    Berlin
    Beiträge
    8.967
    Themenstarter


    • Systeminfo
      • Motherboard:
      • MSI H61MU-E35
      • CPU:
      • Intel Core i3 2100
      • Systemname:
      • Unwichtig 2.0
      • Kühlung:
      • Scythe Big Shurriken
      • Gehäuse:
      • Lian Li PC-A05NB
      • RAM:
      • 2x4GB 1333MHz TeamGroup
      • Grafik:
      • Sapphire 5770 Vapor-X
      • Storage:
      • Samsung F1 320GB + extern (WD 2TB + Maxtor 320GB)
      • Monitor:
      • LG E2240
      • Sound:
      • Westone 4, Superlux HD681 @ FiiO E10
      • Netzteil:
      • Cougar A400
      • Betriebssystem:
      • Win7
      • Sonstiges:
      • Canton Vento 820 @ Pioneer A-209R
      • Notebook:
      • Dell Latitude D420
      • Handy:
      • iPhone 4 16GB weiß

    Standard

    Hmm ... und wieso geht das dann nicht

    Habe mal eingetippt, dass alle Tests mit 11% geschrieben wurden und die Tests mit 99%, trotzdem meint er, dass die Teilblöcke alle nicht bestanden wurden

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;

    namespace Üb1
    {
    class Program
    {
    static void Main(string[] args)
    {
    // Tests = x
    // Übungen = y

    int[] Ergebnis_Test = new int[16];
    int[] Ergebnis_Übung = new int[10];

    #region Tests
    for (int x = 1; x < 13; x++)
    {
    Console.WriteLine("\nBitte Testergebnis " + x + " eingeben:");


    try
    {
    Ergebnis_Test[x] = Convert.ToInt32(Console.ReadLine());
    if (Ergebnis_Test[x] < 0 || Ergebnis_Test[x] > 100)
    {

    }
    }
    catch
    {
    Console.WriteLine("Eingabe fehlerhaft, bitte wiederholen.\nBuchstaben und Sonderzeichen sind nicht gültig.");
    x--;
    continue;
    }

    if (Ergebnis_Test[x] < 0 || Ergebnis_Test[x] > 100)
    {
    Console.WriteLine("\nFalsche Eingabe, bitte erneut eingeben.");
    }


    bool hasFailed = false;

    if (Ergebnis_Test[x] < 50)
    {
    Console.WriteLine("Leider kein gutes Ergebnis.");
    hasFailed = true;
    }
    else if (Ergebnis_Test[x] < 101)
    {
    Console.WriteLine("Super, dieser Test wurde bestanden.");
    }
    else
    {
    Console.WriteLine("Nur Zahlen von 0 bis 100.");
    x--;
    continue;
    }
    if (hasFailed)
    {
    Console.WriteLine("Test nicht bestanden, da das Ergebnis unter 50% beträgt.");
    }


    }

    Console.WriteLine("\nGesamtpunktzahl Tests: " + Ergebnis_Test.Sum());

    int Durchschnitt_Tests = Ergebnis_Test.Sum() / 12;

    Console.WriteLine("Durchschnitt der Tests: " + Durchschnitt_Tests);
    Console.WriteLine("\n");
    #endregion Tests



    #region Übung
    for (int y = 1; y < 5; y++)
    {
    Console.WriteLine("\nBitte Testergebnis " + y + " eingeben:");


    try
    {
    Ergebnis_Übung[y] = Convert.ToInt32(Console.ReadLine());
    if (Ergebnis_Übung[y] < 0 || Ergebnis_Übung[y] > 100)
    {

    }
    }
    catch
    {
    Console.WriteLine("Eingabe fehlerhaft, bitte wiederholen.\nBuchstaben und Sonderzeichen sind nicht gültig.");
    y--;
    continue;
    }

    if (Ergebnis_Übung[y] < 0 || Ergebnis_Übung[y] > 100)
    {
    Console.WriteLine("\nFalsche Eingabe, bitte erneut eingeben.");
    }


    bool hasFailed = false;

    if (Ergebnis_Übung[y] < 50)
    {
    Console.WriteLine("Leider kein gutes Ergebnis.");
    hasFailed = true;
    }
    else if (Ergebnis_Übung[y] < 101)
    {
    Console.WriteLine("Super, diese Übung wurde bestanden.");
    }
    else
    {
    Console.WriteLine("Nur Zahlen von 0 bis 100.");
    y--;
    continue;
    }
    if (hasFailed)
    {
    Console.WriteLine("Übung nicht bestanden, da das Ergebnis unter 50% beträgt.");
    }


    }

    Console.WriteLine("\nGesamtpunktzahl der Übungen: " + Ergebnis_Übung.Sum());

    int Durchschnitt_Übung = Ergebnis_Übung.Sum() / 4;

    Console.WriteLine("Durchschnitt der Übungen: " + Durchschnitt_Übung);
    #endregion Übung


    #region Bestanden/Nicht bestanden


    if (Ergebnis_Test[0] >= 49 && Ergebnis_Test[1] >= 49 && Ergebnis_Test[2] >= 49 || Ergebnis_Übung[0] >= 49)
    {
    Console.WriteLine("\nErgebnis der Teilblöcke:");
    Console.WriteLine("Glückwunsch, Teilblock 1 bestanden.");
    }
    else
    {
    Console.WriteLine("\nErgebnis der Teilblöcke:");
    Console.WriteLine("Teilblock 1 leider nicht bestanden.");
    }


    if (Ergebnis_Test[3] < 50 && Ergebnis_Test[4] < 50 && Ergebnis_Test[5] < 50 || Ergebnis_Übung[1] < 50)
    {
    Console.WriteLine("Teilblock 2 leider nicht bestanden.");
    }
    else
    {
    Console.WriteLine("Glückwunsch, Teilblock 2 bestanden.");
    }


    if (Ergebnis_Test[6] < 50 && Ergebnis_Test[7] < 50 && Ergebnis_Test[8] < 50 || Ergebnis_Übung[2] < 50)
    {
    Console.WriteLine("Teilblock 3 leider nicht bestanden.");
    }
    else
    {
    Console.WriteLine("Glückwunsch, Teilblock 3 bestanden.");
    }


    if (Ergebnis_Test[9] < 50 && Ergebnis_Test[10] < 50 && Ergebnis_Test[11] < 50 || Ergebnis_Übung[3] < 50)
    {
    Console.WriteLine("Teilblock 4 leider nicht bestanden.");
    }
    else
    {
    Console.WriteLine("Glückwunsch, Teilblock 4 bestanden.");
    }

    int Gesamtergebnis = (Durchschnitt_Tests + Durchschnitt_Übung) / 2;
    Console.WriteLine("\nGesamtdurchschnitt der Tests und Übungen: " + Gesamtergebnis);
    Console.ReadLine();
    #endregion Bestanden/Nicht bestanden

    }
    }
    }
    PC: Intel Core i3 2100 @ Big Shurriken, MSI H61MU-E35, Sapphire 5770 Vapor-X, 2x4GB 1333MHz TeamGroup, Samsung F1 320GB, Cougar A400, Lian Li PC-A05NB
    Audio Equipment: Beyerdynamic T70p, Westone 4, Superlux HD681 @ FiiO E10 / iPhone 4
    Heimkino Equipment: Samsung UE32B6000 TV, LG BD550 Blu-ray Player, Onkyo TX SR-605, Klipsch RB-51

    Empfehlenswerte HiFi-Kopfhörer in 6 Preisklassen unterteilt - grobe Kaufempfehlung

  24. #24
    Leutnant zur See
    Registriert seit
    05.11.2007
    Ort
    Neckar-Odenwald Kreis
    Beiträge
    1.158


    Standard

    du fängst oben mit 1 an zu zählen, also Test 1 = Ergebnis_Test[1] nicht [0], bei den Übungen das selbe. aber das nur am rande, sollte nicht dran liegen.

    ich test grad mal dein code. meld mich dann nochmal

    ---------- Beitrag hinzugefügt um 21:38 ---------- Vorheriger Beitrag war um 21:36 ----------

    (Ergebnis_Test[0] >= 49 && Ergebnis_Test[1] >= 49 && Ergebnis_Test[2] >= 49) || Ergebnis_Übung[0] >= 49

    ---------- Beitrag hinzugefügt um 21:41 ---------- Vorheriger Beitrag war um 21:36 ----------

    und die unteren 3 Abfragen bei den Prüfungen müssen größer 50 sein. bzw. sind komplett falsch, bau sie so auf wie den ersten, dann klappts.
    Geändert von unl34shed (08.11.11 um 21:43 Uhr)

  25. #25
    Moderator Avatar von Terr0rSandmann
    Registriert seit
    19.06.2010
    Ort
    Berlin
    Beiträge
    8.967
    Themenstarter


    • Systeminfo
      • Motherboard:
      • MSI H61MU-E35
      • CPU:
      • Intel Core i3 2100
      • Systemname:
      • Unwichtig 2.0
      • Kühlung:
      • Scythe Big Shurriken
      • Gehäuse:
      • Lian Li PC-A05NB
      • RAM:
      • 2x4GB 1333MHz TeamGroup
      • Grafik:
      • Sapphire 5770 Vapor-X
      • Storage:
      • Samsung F1 320GB + extern (WD 2TB + Maxtor 320GB)
      • Monitor:
      • LG E2240
      • Sound:
      • Westone 4, Superlux HD681 @ FiiO E10
      • Netzteil:
      • Cougar A400
      • Betriebssystem:
      • Win7
      • Sonstiges:
      • Canton Vento 820 @ Pioneer A-209R
      • Notebook:
      • Dell Latitude D420
      • Handy:
      • iPhone 4 16GB weiß

    Standard

    Sooooo ... bin fertig. Vielen Dank an euch, ihr habt mir noch einmal den Arsch gerettet

    So sieht nun das fertige Programm aus, falls es denn wen interessieren sollte.

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;

    namespace Üb1
    {
    class Program
    {
    static void Main(string[] args)
    {
    // Tests = x
    // Übungen = y

    int[] Ergebnis_Test = new int[16];
    int[] Ergebnis_Übung = new int[10];

    #region Tests
    for (int x = 1; x < 13; x++)
    {
    Console.WriteLine("\nBitte Testergebnis " + x + " eingeben:");


    try
    {
    Ergebnis_Test[x] = Convert.ToInt32(Console.ReadLine());
    if (Ergebnis_Test[x] < 0 || Ergebnis_Test[x] > 100)
    {

    }
    }
    catch
    {
    Console.WriteLine("Eingabe fehlerhaft, bitte wiederholen.\nBuchstaben und Sonderzeichen sind nicht gültig.");
    x--;
    continue;
    }

    if (Ergebnis_Test[x] < 0 || Ergebnis_Test[x] > 100)
    {
    Console.WriteLine("\nFalsche Eingabe, bitte erneut eingeben.");
    }


    bool hasFailed = false;

    if (Ergebnis_Test[x] < 50)
    {
    Console.WriteLine("Leider kein gutes Ergebnis.");
    hasFailed = true;
    }
    else if (Ergebnis_Test[x] < 101)
    {
    Console.WriteLine("Super, dieser Test wurde bestanden.");
    }
    else
    {
    Console.WriteLine("Nur Zahlen von 0 bis 100.");
    x--;
    continue;
    }
    if (hasFailed)
    {
    Console.WriteLine("Test nicht bestanden, da das Ergebnis unter 50% beträgt.");
    }


    }

    Console.WriteLine("\nGesamtpunktzahl Tests: " + Ergebnis_Test.Sum());

    int Durchschnitt_Tests = Ergebnis_Test.Sum() / 12;

    Console.WriteLine("Durchschnitt der Tests: " + Durchschnitt_Tests);
    Console.WriteLine("\n");
    #endregion Tests



    #region Übung
    for (int y = 1; y < 5; y++)
    {
    Console.WriteLine("\nBitte Testergebnis " + y + " eingeben:");


    try
    {
    Ergebnis_Übung[y] = Convert.ToInt32(Console.ReadLine());
    if (Ergebnis_Übung[y] < 0 || Ergebnis_Übung[y] > 100)
    {

    }
    }
    catch
    {
    Console.WriteLine("Eingabe fehlerhaft, bitte wiederholen.\nBuchstaben und Sonderzeichen sind nicht gültig.");
    y--;
    continue;
    }

    if (Ergebnis_Übung[y] < 0 || Ergebnis_Übung[y] > 100)
    {
    Console.WriteLine("\nFalsche Eingabe, bitte erneut eingeben.");
    }


    bool hasFailed = false;

    if (Ergebnis_Übung[y] < 50)
    {
    Console.WriteLine("Leider kein gutes Ergebnis.");
    hasFailed = true;
    }
    else if (Ergebnis_Übung[y] < 101)
    {
    Console.WriteLine("Super, diese Übung wurde bestanden.");
    }
    else
    {
    Console.WriteLine("Nur Zahlen von 0 bis 100.");
    y--;
    continue;
    }
    if (hasFailed)
    {
    Console.WriteLine("Übung nicht bestanden, da das Ergebnis unter 50% beträgt.");
    }


    }

    Console.WriteLine("\nGesamtpunktzahl der Übungen: " + Ergebnis_Übung.Sum());

    int Durchschnitt_Übung = Ergebnis_Übung.Sum() / 4;

    Console.WriteLine("Durchschnitt der Übungen: " + Durchschnitt_Übung);
    #endregion Übung


    #region Bestanden/Nicht bestanden


    if ((Ergebnis_Test[1] >= 49 && Ergebnis_Test[2] >= 49 && Ergebnis_Test[3] >= 49) || Ergebnis_Übung[1] >= 49)
    {
    Console.WriteLine("\nErgebnis der Teilblöcke:");
    Console.WriteLine("Glückwunsch, Teilblock 1 bestanden.");
    }
    else
    {
    Console.WriteLine("\nErgebnis der Teilblöcke:");
    Console.WriteLine("Teilblock 1 leider nicht bestanden.");
    }


    if ((Ergebnis_Test[4] >= 49 && Ergebnis_Test[5] >= 49 && Ergebnis_Test[6] >= 49) || Ergebnis_Übung[2] >= 49)
    {
    Console.WriteLine("Glückwunsch, Teilblock 2 bestanden.");
    }
    else
    {
    Console.WriteLine("Teilblock 2 leider nicht bestanden.");
    }


    if ((Ergebnis_Test[7] >= 49 && Ergebnis_Test[8] >= 49 && Ergebnis_Test[9] >= 49) || Ergebnis_Übung[3] >= 49)
    {
    Console.WriteLine("Glückwunsch, Teilblock 3 bestanden.");
    }
    else
    {
    Console.WriteLine("Teilblock 3 leider nicht bestanden.");
    }


    if ((Ergebnis_Test[10] >= 49 && Ergebnis_Test[11] >= 49 && Ergebnis_Test[12] >= 49) || Ergebnis_Übung[4] >= 49)
    {
    Console.WriteLine("Glückwunsch, Teilblock 4 bestanden.");
    }
    else
    {
    Console.WriteLine("Teilblock 4 leider nicht bestanden.");
    }

    int Gesamtergebnis = (Durchschnitt_Tests + Durchschnitt_Übung) / 2;
    Console.WriteLine("\nGesamtdurchschnitt der Tests und Übungen: " + Gesamtergebnis);
    Console.ReadLine();

    #endregion Bestanden/Nicht bestanden

    }
    }
    }
    PC: Intel Core i3 2100 @ Big Shurriken, MSI H61MU-E35, Sapphire 5770 Vapor-X, 2x4GB 1333MHz TeamGroup, Samsung F1 320GB, Cougar A400, Lian Li PC-A05NB
    Audio Equipment: Beyerdynamic T70p, Westone 4, Superlux HD681 @ FiiO E10 / iPhone 4
    Heimkino Equipment: Samsung UE32B6000 TV, LG BD550 Blu-ray Player, Onkyo TX SR-605, Klipsch RB-51

    Empfehlenswerte HiFi-Kopfhörer in 6 Preisklassen unterteilt - grobe Kaufempfehlung

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein