Probleme bei Variablenzugriff



  • Hallo,

    ich habe das Problem, dass ich auf eine am Anfang deklarierte Variable nicht zugreifen kann.

    double ergebnis, richtig;
    
            private void erstellen_Click(object sender, EventArgs e)
            {
                Random zufall = new Random();
                int zahl1 = zufall.Next(1,99);
                int zahl2 = zufall.Next(10,1000);
    
                textBox2.Text = "";
                textBox1.Text = "Wieviel sind "+ zahl1 + "% von "+ zahl2 +"?";
                richtig = ((zahl1 / 100) * zahl2);
    
            }
    

    Hier wurde die variable richtig mit initialisiert.

    Im Folgenden möchte ich wieder darauf zugreifen:

    private void check_Click(object sender, EventArgs e)
            {
                string strergebnis = textBox2.Text;
                ergebnis = Double.Parse(strergebnis);
    
                if ( ergebnis == richtig)
                    textBox2.Text = "Richtig!";
                else
                    textBox1.Text = "Falsch, richtig wäre " + richtig;
    
            }
    

    Jedoch kommt immer "0" raus.

    Wer kann mir die wahrscheinlich verdammt simple idiotenlösung sagen?

    Also ich bräuchte die Variable "richtig" nur als globale statt lokale variable und müsste ihr im ersten block einen wert zuweisen, den ich im zweiten wieder abrufe.
    Wie funktioniert das?

    MFG Simon



  • Dein Ausdruck (zahl1 / 100) ergibt immer Null, da gilt zahl1 >= 1 && zahl1 <= 99 und zahl1 und 100 vom Typ int sind.

    MfG


Anmelden zum Antworten