+ Antworten
Seite 2 von 2 ErsteErste 1 2
Ergebnis 26 bis 49 von 49
  1. #26
    Leutnant zur See
    Registriert seit
    18.03.2007
    Beiträge
    1.189


    Standard

    Was studierst du denn? Wenns Informatik ist, guck dir das Programm in nem Jahr nochmal an, dann wirst du entsetzt sein, weil man es wohl in einem Viertel der Zeilen und mit mehr Übersicht etc. hätte machen können
    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

  2. #27
    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

    Habe im Oktober mit Umweltinformatik angefangen.

    Und ja, mir kommt das Programm auch sehr sehr lang vor für das bisschen Inhalt ... aber naja, jeder fängt mal klein an
    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

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


    Standard

    Jo, so siehts aus. Ich hab auch noch nen Stück weit zur Verwirrung beigetragen, weil ich alle Ergebnisse mit ODER verknüpft habe, weil ich die Bedingungen nur überflogen habe.

    Noch nen kleiner Tipp: Wenn man mit Arrays arbeitet, fängt man üblicherweise bei 0 an diese zu befüllen. Das erste Element des Arrays ist dann array[0] und nicht array[1].

    Ich würde dir in jedem Fall auch raten für die Programmiersprache deiner Wahl ein ordentliches Buch zu besorgen. Das wird dich sehr lange Zeit begleiten, die 50€ sind sehr gut investiert.

    Die Grundtypen der (prozeduralen) Programmierung (Schleifen,Abfragen,Bedingungen,Typen) sind bei fast allen Sprachen gleich, es ändert sich nur geringfügig die Syntax. Wenn du also die prozeduralen Grundzüge verstanden hast, kannst du jede Programmiersprache innerhalb von kurzer Zeit anwenden.

  4. #29
    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

    Kannst du da ein Buch empfehlen?
    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. #30
    Oberleutnant zur See Avatar von m0rf
    Registriert seit
    11.02.2006
    Beiträge
    1.349


    Standard

    Ich kann dir "Java ist auch eine Insel" sehr empfehlen, wenn du mit Java durchstarten willst, oder "The C Programming Language" von Kernighan/Ritchie für C. Ansonsten könnte ich noch "Learning Ruby" und "Learning Rails" von O'Reilly empfehlen. Da Ruby und insbesondere Rails aber ziemlich eigene Wege gehen, würde ich das nicht für jemanden empfehlen, der gerade in die Programmierung einsteigt.

    Für C# habe ich leider kein Buch, da kann ich dir auch nichts empfehlen.

  6. #31
    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 wieder eine kurze Frage ...

    Ich muss in einer Übung einen Wert einlesen, dieser darf nur 0 oder 1 sein.
    Wenn der User etwas anderes eintippt (Buchstaben, Sonderzeichen oder andere andere Zahl) soll die Frage wiederholt werden. Wenn er den Wert das 3. Mal falsch eintippt, so soll der Wert auf 1 gesetzt werden.

    Wie mache ich das am schlausten?
    Das klingt irgendwie echt einfach, aber irgendwie steh ich aufm Schlau
    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. #32
    Korvettenkapitän Avatar von Ultrazauberer
    Registriert seit
    25.08.2004
    Ort
    Dresden / Berlin
    Beiträge
    2.254


    • Systeminfo
      • Motherboard:
      • ASrock Extreme3 Gen3 Z68
      • CPU:
      • Core i7 2600K @ 4,5GHz
      • Systemname:
      • Hypercube
      • Kühlung:
      • komplett wassergekühlt
      • Gehäuse:
      • Selfmade - Cube
      • RAM:
      • Corsair Vengeance 4x4GB DDR3
      • Grafik:
      • ATI Sapphire HD5850 @ 850|1200
      • Storage:
      • Crucial m4 128GB, 2x500GB Samsung, 2x400GB Samsung
      • Monitor:
      • Acer 24" und Samsung 20"
      • Netzwerk:
      • mehrere Router mit DD-WRT...
      • Sound:
      • Asus Xonar DX 7.1 PCIe, AKG K530
      • Netzteil:
      • Seasonic S12 Energy Plus 550W
      • Betriebssystem:
      • Windows 7 x64 Professional
      • Notebook:
      • Compal KHLB - P8800, HD4650, 8GB DDR3, 320GB HDD
      • Photoequipment:
      • Canon 550D+BG und einige Objektive
      • Handy:
      • HTC Desire

    Standard

    Ich bin jetzt nicht der C# Guru, aber ich würde das in einer while Schleife machen.

    Wert einlesen
    i=1
    Solange Wert nicht 0 oder 1(
    Wert neu einlesen
    Hochzählen und bei i=3 nen Break)

    So würde ich das grob machen.

    Sent from my HTC Desire using Tapatalk

  8. #33
    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

    Detailierter?

    So im Grund ist die Idee ja recht simple, bei mir hapert es nur arg an der Umsetzung...
    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. #34
    Leutnant zur See
    Registriert seit
    05.11.2007
    Ort
    Neckar-Odenwald Kreis
    Beiträge
    1.158


    Standard

    War doch schon sehr detailliert

    du definierst einen int (z.B. i) der dir deine Eingabeversuche zählt.

    danach startest du eine While schleife, die deine Eingabe einliest, checkt, ob es eine 1, 0 oder Etwas anderes ist.
    - bei 1: Irgendwo den Wert speichern, dann break
    - bei 0: Irgendwo den Wert speichern, dann break
    - bei allem anderen (default): Wert als 1 speichern und i++

    fertig.

    ein Tipp, versuch dich ins Programm "rein zu denken", was soll es als nächstes machen, dann ist alles recht logisch (klappt bei mir zumindest).

  10. #35
    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

    Kann ich das auch mit switch machen?

    ---------- Beitrag hinzugefügt um 13:17 ---------- Vorheriger Beitrag war um 13:12 ----------

    Glaube das Fieber tut mir nicht gut ... sieht jetzt so aus, funktioniert aber nicht:

    Console.WriteLine("\nBitte AGB Wert eingeben (0 oder 1):");

    int i = 0;
    while (AGB == 1)
    {
    AGB = Convert.ToInt32(Console.ReadLine());
    break;
    }
    while (AGB == 0)
    {
    AGB = Convert.ToInt32(Console.ReadLine());
    break;
    }
    default ()
    {
    AGB = 1;
    i++;
    }
    Was muss ich ändern? Müsste ich nicht irgendwie eine if Schleife machen, die dann bis i = 3 hochzählt oder so etwas?
    Geändert von Terr0rSandmann (28.11.11 um 13:21 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

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


    Standard

    du hättest alles in eine while packen müssen, die die 3 Abfragen prüft.

    AGB = Convert.ToInt32(Console.ReadLine()); //Das kannst du vergessen, außer du machst noch eine try-Catch dazu, weil Buchstaben kann er nicht als int umwandeln, vergleich einfach mit einem String ("1" bzw. "0").

    Hab da mal schnell was gebastelt.
    Spoiler: Anzeigen

    Console.WriteLine("\nBitte AGB Wert eingeben (0 oder 1):");

    int out = 0;
    int i = 0;
    while (i<3)
    {
    AGB = Console.ReadLine();
    switch AGB;
    case "1":
    out = 1;
    break;
    case "0":
    out = 0;
    break;
    default:
    i = 1;
    Console.WriteLine("Falsche Eingabe!");
    i++;
    }

    sollte so funktionieren, habs aber nicht getestet und bin mir bei der switch-case Syntax grad nicht sicher

  12. #37
    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

    Musste es etwas ändern, da viele Fehler drin waren.
    Sieht jetzt so aus ... allerdings meckert er mit AGB rum.
    Er sagt mir, dass strings nicht in int formatiert werden können.
    Ich brauche das aber eigentlich als int, da es eine 0 oder 1 sein soll. Zudem soll er mir ja auch einen Fehler bringen (bool?) wenn Buchstaben oder Zeichen eingegeben werden.

    Console.WriteLine("\nBitte AGB Wert eingeben (0 oder 1):");
    int y = 0;

    while (y<3)
    {
    //AGB = Console.ReadLine();
    switch (y)
    {
    case 1:
    AGB = 1;
    break;

    case 0:
    AGB = 0;
    break;

    default:
    y = 1;
    Console.WriteLine("Falsche Eingabe!");
    y++;
    }
    AGB = 1;
    }


    Edit:

    Jetzt gibt er nur noch einen Fehler wegen dem "default", aber was soll denn da bitte falsch sein? Verstehe ich nciht.
    Geändert von Terr0rSandmann (28.11.11 um 14:21 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

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


    Standard

    das muss raus, y = 1;

    Du setzt jedes mal, wenn du in default rein gehts y auf 1, machst später y++ damit wird y nie größer als 2 und deine schleife bricht nicht mehr ab.

    Edit: und dein AGB = 1; ganz unten muss noch vor die klammer

    müsste am ende so aus sehen:
    AGB = 1;
    }
    }

    !!Fehler, du switchst dein y, du musst deine Eingabe switchen!!
    Geändert von unl34shed (28.11.11 um 14:35 Uhr)

  14. #39
    Hauptgefreiter Avatar von pointX
    Registriert seit
    14.12.2009
    Ort
    BaWü
    Beiträge
    192


    • Systeminfo
      • Motherboard:
      • altes P4 Board
      • CPU:
      • P4 @ 3,0 ghz
      • Kühlung:
      • boxed :(
      • Gehäuse:
      • standard Gehäuse
      • RAM:
      • 1,5 gig @DDR1
      • Grafik:
      • Radeo X1650
      • Storage:
      • 120gig @ 500 extern
      • Monitor:
      • 19&quot; TFT
      • Netzteil:
      • NoName...... uralt
      • Betriebssystem:
      • XP
      • Photoequipment:
      • Canon Kompaktkamera

    Standard

    Noch ein Fehler: im Switch muss bei case "0" und case "1" dann die While-Schleifenvariable (y) auf 3 gesetzt werden.
    Sonst gibt es bei korrekter Eingabe trotzdem 3 Durchläufe.

    Oder einfach per If, dann kann man bequem mit break; die Schleife verlassen, was bei Switch nicht möglich ist, denn dort wird das break; auf das switch angewendet, nicht aber auf die while-Schleife.
    Code:
                int i = 1;
                string eingabe;
                int ausgabe = -1;
    
                while (i <= 3)
                {
                    eingabe = Console.ReadLine();
                    if (eingabe == "1")
                    {
                        ausgabe = 1;
                        break;
                    }
                    else if (eingabe == "0")
                    {
                        ausgabe = 0;
                        break;
                    }
                    else if (i >= 3)
                    {
                        ausgabe = 1;
                        break;
                    }
                    else
                    {
                        Console.WriteLine("Möp falsche einagabe. Bitte wiederholen");
                        i++;
                    }
                }
                Console.WriteLine(ausgabe.ToString());
    Geändert von pointX (28.11.11 um 14:43 Uhr)
    2500K, Z68-V, Team 8GB 1333, 1TB Samsung F3, Ninja 3, CM-500W

    <codec> root kann mein heim zerstören, mich aus dem system aussperen. Aber nur Gott allein entscheidet, ob ich nach /dev/null/ oder nach /var/log/ komme

  15. #40
    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

    Ok, habe das y=1; rausgenommen, trotzdem meldet er einen Fehler in der Zeile vom default.

    Fehlermeldung:
    Das Steuerelement kann nicht von einer case-Bezeichnung ("default:") zur nächsten fortfahren.


    Edit:

    Dank dir pointX. Mit deinem Text funktioniert es. Nun noch etwas die Bezeichnungen ändern und dann ist fein. Super.
    Geändert von Terr0rSandmann (28.11.11 um 14:38 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. #41
    Hauptgefreiter Avatar von pointX
    Registriert seit
    14.12.2009
    Ort
    BaWü
    Beiträge
    192


    • Systeminfo
      • Motherboard:
      • altes P4 Board
      • CPU:
      • P4 @ 3,0 ghz
      • Kühlung:
      • boxed :(
      • Gehäuse:
      • standard Gehäuse
      • RAM:
      • 1,5 gig @DDR1
      • Grafik:
      • Radeo X1650
      • Storage:
      • 120gig @ 500 extern
      • Monitor:
      • 19&quot; TFT
      • Netzteil:
      • NoName...... uralt
      • Betriebssystem:
      • XP
      • Photoequipment:
      • Canon Kompaktkamera

    Standard

    Zitat Zitat von Terr0rSandmann Beitrag anzeigen
    Fehlermeldung:
    Das Steuerelement kann nicht von einer case-Bezeichnung ("default:") zur nächsten fortfahren.
    Fehler kommt daher, weil dein default nicht per break; beendet wurde innerhalb der Switch-Bereichs.

    Aber gut, wenn es per If jetzt klappt.
    Viele Wege führen nach Rom
    2500K, Z68-V, Team 8GB 1333, 1TB Samsung F3, Ninja 3, CM-500W

    <codec> root kann mein heim zerstören, mich aus dem system aussperen. Aber nur Gott allein entscheidet, ob ich nach /dev/null/ oder nach /var/log/ komme

  17. #42
    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

    Und wieder ein neues Problem ... Im ersten Moment klingt das immer so simple, aber dann scheitert es doch irgendwie

    Der User muss einen Wert [Variable Cf] von 10 bis 1000 eingeben. Bei Falscheingabe (Wert zu hoch, zu niedrig oder ein Buchstabe/Sonderzeichen) muss die Abfrage wiederholt werden. Bei der 3. Fehleingabe wird der Wert auf 1 gesetzt.

    Mein Ansatz sieht so aus:

    int h = 1;

    double Cf;

    Console.WriteLine("\nBitte Cf Wert eingeben (10 bis 1000):");
    Cf = Convert.ToDouble(Console.ReadLine());

    while (h <= 3)
    {

    if ((Cf <= 1000) && (Cf > 0))
    {
    Cf = Convert.ToDouble(Console.ReadLine());
    break;
    }
    else if (Cf > 1000)
    {
    Console.WriteLine("Falsche Eingabe, Wert zu hoch. Bitte wiederholen");
    break;
    h++;
    }
    else if (Cf < 10)
    {
    Console.WriteLine("Falsche Eingabe, Wert zu niedrig. Bitte wiederholen");
    break;
    h++;
    }
    else if (h >= 3)
    {
    Cf = 1;
    break;
    }

    }
    Console.WriteLine("\nCf Wert: " + Cf);

    Problem ist, dass er zb erkennt, wenn ich eine Zahl über 1000 eingebe, schreibt mir auch, dass die Zahl falsch ist, nimmt den Wert aber trotzdem an.
    Ebanso wenn die Zahl etwa zu klein ist.
    Und er fragt auch immer 2x ab
    Geändert von Terr0rSandmann (28.11.11 um 15:49 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

  18. #43
    Hauptgefreiter Avatar von pointX
    Registriert seit
    14.12.2009
    Ort
    BaWü
    Beiträge
    192


    • Systeminfo
      • Motherboard:
      • altes P4 Board
      • CPU:
      • P4 @ 3,0 ghz
      • Kühlung:
      • boxed :(
      • Gehäuse:
      • standard Gehäuse
      • RAM:
      • 1,5 gig @DDR1
      • Grafik:
      • Radeo X1650
      • Storage:
      • 120gig @ 500 extern
      • Monitor:
      • 19&quot; TFT
      • Netzteil:
      • NoName...... uralt
      • Betriebssystem:
      • XP
      • Photoequipment:
      • Canon Kompaktkamera

    Standard

    Erst einmal etwas generelles:

    So etwas wie
    Code:
    Convert.ToDouble(string a);
    niemals ohne Try-Catch.
    Wenn dir Try-Catch nichts sagt empfehle ich dir dringend das mal anzuschauen.
    Sonst stürtzt dein Programm sauber ab, wenn du z.B. Buchstaben eingibst.

    Zu deinem Problem:
    Schau dir doch deine Struktur mal an, was du im fehlerfall machst.
    Hier dein Ablauf:
    Cf parsen - prüfen - Meldung ausgeben - break; h++ (?? -> siehe weiter unten).

    Cf hat aber immer noch den geparsten Wert.
    Du vergisst hier Cf = 1 zu setzen, wie es gewünscht ist.

    Was anderes:
    Code:
    break;
    h++;
    Was soll das bringen ?
    Du weißt, dass break; bedeutet, dass die while-Schleife nicht mehr ausgeführt wird, sondern abgebrochen wird ?
    D.h. dein h++ wird schon nicht mehr ausgeführt ! Die Schleife wird abgebrochen.
    Deshalb vllt. wird es auch nur 2x ausgeführt.... wenn bei der 2. Eingabe etwas falsches eingegeben wird
    Du hattest vllt das hier vor:
    Code:
    h++;
    continue; // nächster Durchlauf.....

    Ein bisschen verändert, funktioniert:
    Code:
    int h = 0;
    
                double Cf = -1;
                string eingabe;
    
                while (h <= 3)
                {
                    if (h == 3)
                    {
                        Cf = 1; // nach 3. erfolgloser eingabe auf 1 als default wert setzen
                        break;
                    }
                    else
                    {
                        Console.WriteLine("\nBitte Cf Wert eingeben (10 bis 1000):");
                        eingabe = Console.ReadLine();
    
                        try
                        {
                            Cf = double.Parse(eingabe);
                        }
                        catch
                        {
                            Console.WriteLine("ungültige Einagabe ! Das war keine Zahl.");
                        }
    
                        if ((Cf <= 1000) && (Cf > 0))  // 10 oder 0 ? was willst du ? entweder hier 10 oder unten auch 0
                        {
                            break; // ok , while verlassen da Wert korrekt
                        }
                        else if (Cf > 1000)
                        {
                            Console.WriteLine("Falsche Eingabe, Wert zu hoch. Bitte wiederholen");
                        }
                        else if (Cf < 10) // 10 oder 0 ? was willst du ? entweder hier 0 oder oben auch 10
                        {
                            Console.WriteLine("Falsche Eingabe, Wert zu niedrig. Bitte wiederholen");
                        }
                        h++;
                    }
                }
                Console.WriteLine("\nCf Wert: " + Cf.ToString());
    Geändert von pointX (28.11.11 um 18:39 Uhr)
    2500K, Z68-V, Team 8GB 1333, 1TB Samsung F3, Ninja 3, CM-500W

    <codec> root kann mein heim zerstören, mich aus dem system aussperen. Aber nur Gott allein entscheidet, ob ich nach /dev/null/ oder nach /var/log/ komme

  19. #44
    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 ... ich merke schon, ich muss noch eine Menge lernen.

    Was genau bedeutet:
    Cf = double.Parse(eingabe);
    ?
    Dieses double.Parse kenne ich garnicht.

    Der Rest leuchtet eigentlich ein ...


    Dir nochmal ein großes Danke
    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. #45
    Hauptgefreiter Avatar von pointX
    Registriert seit
    14.12.2009
    Ort
    BaWü
    Beiträge
    192


    • Systeminfo
      • Motherboard:
      • altes P4 Board
      • CPU:
      • P4 @ 3,0 ghz
      • Kühlung:
      • boxed :(
      • Gehäuse:
      • standard Gehäuse
      • RAM:
      • 1,5 gig @DDR1
      • Grafik:
      • Radeo X1650
      • Storage:
      • 120gig @ 500 extern
      • Monitor:
      • 19&quot; TFT
      • Netzteil:
      • NoName...... uralt
      • Betriebssystem:
      • XP
      • Photoequipment:
      • Canon Kompaktkamera

    Standard

    Mit was Programmierst du ?
    In Visual C# 2010 werden doch die Erklärungen immer mit angezeigt.


    Konvertiert einfach die übergebene Variable zu double.
    Bei Fehler treten die entsprechenden Exceptions auf, welche per try-catch abgefangen und entsprechend behandelt werden können.
    Angehängte Grafiken Angehängte Grafiken
    2500K, Z68-V, Team 8GB 1333, 1TB Samsung F3, Ninja 3, CM-500W

    <codec> root kann mein heim zerstören, mich aus dem system aussperen. Aber nur Gott allein entscheidet, ob ich nach /dev/null/ oder nach /var/log/ komme

  21. #46
    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

    Ich nutze Sharpdevelop.
    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. #47
    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

    Eine letzte Frage
    (Für diese Woche )

    Ich muss 2 Formeln ausrechnen und zuvor halt die ganzen Werte einlesen.
    Mit den Werte einlesen und Fehler abfangen und allem drum und dran funktioniert soweit, aber wie mache ich das, dass wenn er die erste Formel ausspuckt, quasi von vorne anfängt die Werte einzulesen und dann am Ende die 2. Formel zur Berechnung nimmt?

    Simpel gesprochen um es zu veranschaulichen:

    Werte Formel1 einlesen:
    a = ... // ist ein Array
    b = ...
    c = ...

    Formel1:
    z = a + b + c

    Werte Formel2 einlesen:
    a = ... // ist ein Array
    b = ...
    c = ...

    Formel2:
    z = a * b * c


    Wie verwirkliche ich das mit einer Schleife?
    (Die Variablen [hier im Beispiel a, b und c] sollen überschrieben werden)
    Geändert von Terr0rSandmann (29.11.11 um 20:27 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

  23. #48
    Korvettenkapitän Avatar von Ultrazauberer
    Registriert seit
    25.08.2004
    Ort
    Dresden / Berlin
    Beiträge
    2.254


    • Systeminfo
      • Motherboard:
      • ASrock Extreme3 Gen3 Z68
      • CPU:
      • Core i7 2600K @ 4,5GHz
      • Systemname:
      • Hypercube
      • Kühlung:
      • komplett wassergekühlt
      • Gehäuse:
      • Selfmade - Cube
      • RAM:
      • Corsair Vengeance 4x4GB DDR3
      • Grafik:
      • ATI Sapphire HD5850 @ 850|1200
      • Storage:
      • Crucial m4 128GB, 2x500GB Samsung, 2x400GB Samsung
      • Monitor:
      • Acer 24&quot; und Samsung 20&quot;
      • Netzwerk:
      • mehrere Router mit DD-WRT...
      • Sound:
      • Asus Xonar DX 7.1 PCIe, AKG K530
      • Netzteil:
      • Seasonic S12 Energy Plus 550W
      • Betriebssystem:
      • Windows 7 x64 Professional
      • Notebook:
      • Compal KHLB - P8800, HD4650, 8GB DDR3, 320GB HDD
      • Photoequipment:
      • Canon 550D+BG und einige Objektive
      • Handy:
      • HTC Desire

    Standard

    Hmm, irgendwie sieht das so aus, als sollten die anderen deine Hausaufgaben erledigen...

    Es gibt viele Möglichkeiten: lager die Ein- und Ausgabe in Prozeduren oder Funktionen aus.

    Dann sieht deine Main Funktion ungefähr so aus:
    Aufruf der Eingabeprozedur
    Berechnung Formel 1
    Aufruf der Ausgabeprozedur
    Aufruf der Eingabeprozedur
    Berechnung Formel 2
    Aufruf der Ausgabeprozedur
    Ende

    Man kann es auch anders machen bei solchen simplen Programmen. Schreib doch erstmal das Programm und poste dann nochmal dein konkretes Problem.

    Im Grunde ist es ja immer das gleiche, was hier gefragt wird.

    Wenn du es in einer Schleife lösen willst (Pseudocode):
    Int i=1;
    While(i<=3){
    Eingabeprozedur();
    If(i%2==1){Formel1();}
    Else{Formel2();}
    Ausgabeprozedur();
    i++;
    }

    Das müsste eigentlich einleuchtend sein.

    PS: Ich habe Programmieren immer gehasst, bis es mal klick gemacht hat. Jetzt finde ich es toll, das kommt bei dir auch noch. Ich werde jetzt schlafen und mich morgen wieder der AVR Programmierung widmen.

    Sent from my HTC Desire using Tapatalk

  24. #49
    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

    Das ganze Programm? Ui ... das wird aber viel


    Was mir halt noch fehlt, dass ich 1x mit den ganzen Eingabe die Lösung 1 rauskriege und das ganze Teil dann von vorne durchläuft mit den Werteeingeben und mir dann die Lösung 2 ausgespuckt wird.
    (Jaja, sinnlos ... weil es 2x die selbe Endformel ist)

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


    namespace ü2_29._11_teil2
    {
    class Program
    {
    public static void Main(string[] args)
    {

    #region Variablen

    double[] IF = new double[16]; // Array Impact Factoren
    // x = Zähler

    double L; // Lösung
    double L1; // Lösung Nr. 2

    string eingabe_AGB; // AGB zwischen 0 und 1
    double AGB = -1;
    // i = Zähler

    string eingabe_DOM; // DOM zwischen 0 und 1
    double DOM = -1;
    // j = Zähler

    string eingabe_Cf; // Cf zwischen 10 und 1000
    double Cf = -1;
    // h = Zähler

    string eingabe_Gef; // Gef 1 oder höher
    double Gef = -1;
    // k = Zähler

    #endregion

    #region IF
    for (int x = 1; x < 10; x++)
    {
    Console.WriteLine("\nBitte Impact Factor Nr. " + x + " eingeben:");

    try
    {
    IF[x] = Convert.ToDouble(Console.ReadLine());
    }
    catch
    {
    Console.WriteLine("\aEingabe fehlerhaft, bitte wiederholen.\nBuchstaben und Sonderzeichen sind nicht gültig.");
    x--;
    continue;
    }

    }
    Console.WriteLine("\nSumme der Impact Factoren: " + IF.Sum());
    #endregion

    #region AGB


    int i = 1;
    //string eingabe_AGB;
    //double AGB = -1;

    while (i <= 3)
    {
    if (i == 3)
    {
    AGB = 1; // Nach 3 erfolglosen Eingabe, Wert auf 1
    break;
    }
    else
    {
    Console.WriteLine("\nBitte AGB Wert eingeben (zwischen 0 und 1):");
    eingabe_AGB = Console.ReadLine();

    try
    {
    AGB = double.Parse(eingabe_AGB);
    }
    catch
    {
    Console.WriteLine("\aUngültige Eingabe! Das war keine Zahl.");
    }

    if ((AGB >= 0) && (AGB <= 1)) // Wert zwischen 0 und 1
    {
    break; // While verlassen -> Wert korrekt
    }
    else if (AGB > 1) // Ausführen wenn DOM > 1
    {
    Console.WriteLine("\aFalsche Eingabe, Wert zu hoch. Bitte wiederholen");
    }
    else if (AGB < 0) // Ausführen wenn DOM < 0
    {
    Console.WriteLine("\aFalsche Eingabe, Wert zu niedrig. Bitte wiederholen");
    }
    i++;
    }
    }
    Console.WriteLine("\nAGB Wert: " + AGB.ToString());
    #endregion

    #region DOM

    int j = 1;
    //string eingabe_DOM;
    //double DOM = -1;

    while (j <= 3)
    {
    if (j == 3)
    {
    DOM = 1; // Nach 3 erfolglosen Eingabe, Wert auf 1
    break;
    }
    else
    {
    Console.WriteLine("\nBitte DOM Wert eingeben (zwischen 0 und 1):");
    eingabe_DOM = Console.ReadLine();

    try
    {
    DOM = double.Parse(eingabe_DOM);
    }
    catch
    {
    Console.WriteLine("\aUngültige Eingabe! Das war keine Zahl.");
    }

    if ((DOM >= 0) && (DOM <= 1)) // Wert zwischen 0 und 1
    {
    break; // While verlassen -> Wert korrekt
    }
    else if (DOM > 1) // Ausführen wenn DOM > 1
    {
    Console.WriteLine("\aFalsche Eingabe, Wert zu hoch. Bitte wiederholen");
    }
    else if (DOM < 0) // Ausführen wenn DOM < 0
    {
    Console.WriteLine("\aFalsche Eingabe, Wert zu niedrig. Bitte wiederholen");
    }
    j++;
    }
    }
    Console.WriteLine("\nDOM Wert: " + DOM.ToString());
    #endregion

    #region Cf

    int h = 0;
    // double Cf = -1;
    // string eingabe_Cf;

    while (h <= 3)
    {
    if (h == 3)
    {
    Cf = 1; // Nach 3 erfolglosen Eingabe, Wert auf 1
    break;
    }
    else
    {
    Console.WriteLine("\nBitte Cf Wert eingeben (10 bis 1000):");
    eingabe_Cf = Console.ReadLine();

    try
    {
    Cf = double.Parse(eingabe_Cf);
    }
    catch
    {
    Console.WriteLine("\aUngültige Eingabe! Das war keine Zahl.");
    }

    if ((Cf <= 1000) && (Cf > 10)) // Wert zwischen 10 und 1000
    {
    break; // While verlassen -> Wert korrekt
    }
    else if (Cf > 1000) // Ausführen wenn Cf > 1000
    {
    Console.WriteLine("\aFalsche Eingabe, Wert zu hoch. Bitte wiederholen");
    }
    else if (Cf < 10) // Ausführen wenn Cf < 10
    {
    Console.WriteLine("\aFalsche Eingabe, Wert zu niedrig. Bitte wiederholen");
    }
    h++;
    }
    }
    Console.WriteLine("\nCf Wert: " + Cf.ToString());

    #endregion

    #region Gef

    int k = 0;
    // double Gef = -1;
    // string eingabe_Gef;

    while (k <= 3)
    {
    if (k == 3)
    {
    Gef = 1; // Nach 3 erfolglosen Eingabe, Wert auf 1
    break;
    }
    else
    {
    Console.WriteLine("\nBitte Gef Wert eingeben (1 oder höher):");
    eingabe_Gef = Console.ReadLine();

    try
    {
    Gef = double.Parse(eingabe_Gef);
    }
    catch
    {
    Console.WriteLine("\aUngültige Eingabe! Das war keine Zahl.");
    }

    if (Gef >= 1) // Wert mind. 1
    {
    break; // While verlassen -> Wert korrekt
    }

    else if (Gef < 1) // Ausführen wenn Cef < 1
    {
    Console.WriteLine("\aFalsche Eingabe, Wert zu niedrig. Bitte wiederholen");
    }
    k++;

    }
    }
    Console.WriteLine("\nGef Wert: " + Gef.ToString());

    #endregion


    #region Rechnung

    L = IF.Sum()*(((AGB + DOM)*Cf)*(Gef*0.001));
    Console.WriteLine("\nLösung laut Formel: " + L);

    #endregion

    Console.WriteLine("\nTaste drücken zum beenden.");
    Console.ReadKey(true);

    }
    }
    }
    Die Werte IF (Array with 9 Werten), AGB, DOM, Cf und Gef werden eingelesen und sollen dann zur Lösung1 werden. Dann soll der User die Werte nochmal eingeben können, welche dann am Ende die Lösung2 ergeben.

    ---------- Beitrag hinzugefügt um 23:48 ---------- Vorheriger Beitrag war um 22:56 ----------

    Jear ... ich habe es gelöst. Sicher nicht die beste Lösung, aber es funktioniert.

    Hier der Quellcode:
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;

    namespace ü2_29._11_teil2
    {
    class Program
    {
    public static void Main(string[] args)
    {

    #region Variablen

    double[] IF = new double[16]; // Array Impact Factoren
    // x = Zähler

    double L; // Lösung CH4
    double L1; // Lösung N2O

    string eingabe_AGB; // AGB zwischen 0 und 1
    double AGB = -1;
    // i = Zähler

    string eingabe_DOM; // DOM zwischen 0 und 1
    double DOM = -1;
    // j = Zähler

    string eingabe_Cf; // Cf zwischen 10 und 1000
    double Cf = -1;
    // h = Zähler

    string eingabe_Gef; // Gef 1 oder höher
    double Gef = -1;
    // k = Zähler

    #endregion

    int a = 1;
    int b = 1;
    while (a == 1)

    {
    if (b >=0)
    {
    #region IF
    for (int x = 1; x < 10; x++)
    {
    Console.WriteLine("\nBitte Impact Factor Nr. " + x + " eingeben:");

    try
    {
    IF[x] = Convert.ToDouble(Console.ReadLine());
    }
    catch
    {
    Console.WriteLine("\aEingabe fehlerhaft, bitte wiederholen.\nBuchstaben und Sonderzeichen sind nicht gültig.");
    x--;
    continue;
    }

    }
    Console.WriteLine("\nSumme der Impact Factoren: " + IF.Sum());
    #endregion

    #region AGB


    int i = 1;
    //string eingabe_AGB;
    //double AGB = -1;

    while (i <= 3)
    {
    if (i == 3)
    {
    AGB = 1; // Nach 3 erfolglosen Eingabe, Wert auf 1
    break;
    }
    else
    {
    Console.WriteLine("\nBitte AGB Wert eingeben (zwischen 0 und 1):");
    eingabe_AGB = Console.ReadLine();

    try
    {
    AGB = double.Parse(eingabe_AGB);
    }
    catch
    {
    Console.WriteLine("\aUngültige Eingabe! Das war keine Zahl.");
    }

    if ((AGB >= 0) && (AGB <= 1)) // Wert zwischen 0 und 1
    {
    break; // While verlassen -> Wert korrekt
    }
    else if (AGB > 1) // Ausführen wenn DOM > 1
    {
    Console.WriteLine("\aFalsche Eingabe, Wert zu hoch. Bitte wiederholen");
    }
    else if (AGB < 0) // Ausführen wenn DOM < 0
    {
    Console.WriteLine("\aFalsche Eingabe, Wert zu niedrig. Bitte wiederholen");
    }
    i++;
    }
    }
    Console.WriteLine("\nAGB Wert: " + AGB.ToString());
    #endregion

    #region DOM

    int j = 1;
    //string eingabe_DOM;
    //double DOM = -1;

    while (j <= 3)
    {
    if (j == 3)
    {
    DOM = 1; // Nach 3 erfolglosen Eingabe, Wert auf 1
    break;
    }
    else
    {
    Console.WriteLine("\nBitte DOM Wert eingeben (zwischen 0 und 1):");
    eingabe_DOM = Console.ReadLine();

    try
    {
    DOM = double.Parse(eingabe_DOM);
    }
    catch
    {
    Console.WriteLine("\aUngültige Eingabe! Das war keine Zahl.");
    }

    if ((DOM >= 0) && (DOM <= 1)) // Wert zwischen 0 und 1
    {
    break; // While verlassen -> Wert korrekt
    }
    else if (DOM > 1) // Ausführen wenn DOM > 1
    {
    Console.WriteLine("\aFalsche Eingabe, Wert zu hoch. Bitte wiederholen");
    }
    else if (DOM < 0) // Ausführen wenn DOM < 0
    {
    Console.WriteLine("\aFalsche Eingabe, Wert zu niedrig. Bitte wiederholen");
    }
    j++;
    }
    }
    Console.WriteLine("\nDOM Wert: " + DOM.ToString());
    #endregion

    #region Cf

    int h = 0;
    // double Cf = -1;
    // string eingabe_Cf;

    while (h <= 3)
    {
    if (h == 3)
    {
    Cf = 1; // Nach 3 erfolglosen Eingabe, Wert auf 1
    break;
    }
    else
    {
    Console.WriteLine("\nBitte Cf Wert eingeben (10 bis 1000):");
    eingabe_Cf = Console.ReadLine();

    try
    {
    Cf = double.Parse(eingabe_Cf);
    }
    catch
    {
    Console.WriteLine("\aUngültige Eingabe! Das war keine Zahl.");
    }

    if ((Cf <= 1000) && (Cf > 10)) // Wert zwischen 10 und 1000
    {
    break; // While verlassen -> Wert korrekt
    }
    else if (Cf > 1000) // Ausführen wenn Cf > 1000
    {
    Console.WriteLine("\aFalsche Eingabe, Wert zu hoch. Bitte wiederholen");
    }
    else if (Cf < 10) // Ausführen wenn Cf < 10
    {
    Console.WriteLine("\aFalsche Eingabe, Wert zu niedrig. Bitte wiederholen");
    }
    h++;
    }
    }
    Console.WriteLine("\nCf Wert: " + Cf.ToString());

    #endregion

    #region Gef

    int k = 0;
    // double Gef = -1;
    // string eingabe_Gef;

    while (k <= 3)
    {
    if (k == 3)
    {
    Gef = 1; // Nach 3 erfolglosen Eingabe, Wert auf 1
    break;
    }
    else
    {
    Console.WriteLine("\nBitte Gef Wert eingeben (1 oder höher):");
    eingabe_Gef = Console.ReadLine();

    try
    {
    Gef = double.Parse(eingabe_Gef);
    }
    catch
    {
    Console.WriteLine("\aUngültige Eingabe! Das war keine Zahl.");
    }

    if (Gef >= 1) // Wert mind. 1
    {
    break; // While verlassen -> Wert korrekt
    }

    else if (Gef < 1) // Ausführen wenn Cef < 1
    {
    Console.WriteLine("\aFalsche Eingabe, Wert zu niedrig. Bitte wiederholen");
    }
    k++;

    }
    }
    Console.WriteLine("\nGef Wert: " + Gef.ToString());

    #endregion


    #region Rechnung
    if (b == 1)
    {
    L = IF.Sum()*(((AGB + DOM)*Cf)*(Gef*0.001));
    Console.WriteLine("\nLösung laut Formel (CH4): " + L);
    b++;
    continue;
    }

    else if (b == 2)
    {
    L1 = IF.Sum()*(((AGB + DOM)*Cf)*(Gef*0.001));
    Console.WriteLine("\nLösung laut Formel (N2O): " + L1);
    Console.WriteLine("\nTaste drücken zum beenden.");
    Console.ReadKey(true);
    break;
    }

    #endregion
    }
    }


    }
    }
    }
    Geändert von Terr0rSandmann (30.11.11 um 00:00 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

+ Antworten
Seite 2 von 2 ErsteErste 1 2

Berechtigungen

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