Probleme mit Variablen in C#

  • Hallo,

    bin im Moment dabei für die Uni ein Programm zu schreiben, das eine Bestellung durchführen soll. Dabei habe ich ausführlichst mit dem switch-Befehl gearbeitet. Innerhalb der switche werden die Variablen eingegeben und sollen am Ende nochmal alle gemeinsam ausgegeben werden. Diese Variablen lassen sich aber irgendwie nur in dem Switch benutzen, die Ausgabe am Ende scheitert jedoch, da Visual Studio behauptet die Variable wäre nicht zugewiesen. Hier mal das Programm in all seiner "Pracht".

    Und wenn mir jemand nochmal sagen kann, wie man ne Texteingabe etwas eleganter in eine int umwandeln kann wäre ich auch dankbar (gab da irgendeinen Befehl, weiß aber nicht mehr wie der lautet... ;) ) Aber Hauptproblem sind die Variablen.

    Viele Grüße!

  • Ich bin bei C#-Spezialist, aber: Initialisier die Variablen doch mal mit 0-Werten. Ich könnte mir vorstellen, dass das Programm nur deshalb abstürzt, weil nicht alle Variablen gefüllt wurden. Wenn Du z.B. NUR Schrauben kaufst, ist klar dass die anderen Variablen uninitialisiert bleiben, weil deren Case ja niemals erreicht wird.

    OffTopic-Meinung: Habe seit BASIC-Zeiten kein "goto" mehr gesehen. Lös das besser mal mit Methoden / Schleifen ;)

    We are Microsoft of Borg. Assimilation is imminent. Resistance is... Error in Borg.dll. Press OK to abort.

  • Naechstes mal nimm bitte englische namen fuer deine variablen namen. Es tut mir beim lesen weh :D
    Naechstes mal, kopiere bitte die Fehlermeldung, dann ist das fehlerbeheben einfacher.

    Du solltest in C# immer variablen initialisieren. Nicht immer nur int bla, sondern es muss int bla = 0 sein, oder aehnliches.
    Du solltest auch keine goto benutzen, solange du nicht in Assembly arbeitest. Wie LoB schon geschrieben hat, benutze eher Methoden oder Schleifen. While schleifen koennen ein goto gut ersetzen ;)

  • O .. M .. G. Du nutzt GOTO und Labels, in C#? Wirklich?
    Bitte zeig das Programm niemandem sonst, ausser den Leuten hier ;)

    * Und ja, initialisieren deine Variablen. Vorzugsweise nicht in einer Reihe, so wie jetzt.
    * Ungarische Notation ist nie verkehrt.
    * Und benutze Methoden. Hilft bei der Übersicht! (keine dieser Methoden sollte mehr als 30 Zeilen haben und mehr als 120 Zeichen pro Zeile)
    * using System.Linq; kannst weglassen


    (* Varablen welche im switch definiert sind, existieren auch nur dort. Also zwischen { und })

    Raspi A+, 3, Zero

    Einmal editiert, zuletzt von Viper (14. Dezember 2011 um 10:27)