kleine Rechenaufgabe.
-
hallo, ich versuche mein erstes Programm in c# zu programmieren, jedoch weiss ich nicht mehr wie es weiter gehen soll. Ich möchte das mein Programm einen bestimmten Betrag ausrechnet.
Ich habe ein Betrag von 50 € zur verfügung, von diesem betrag kauf ich mir in der Mensa Essensmarken, mein programm rechnet wie viel die essensmarken kosten, und dann soll es die folgende operation durchführen :
mein kontostand-kosten= neuer kontostand.
mein problem ist das, der neue kontostand nicht gespeichert bleibt.
hier ist mein code:private void button17_Click(object sender, EventArgs e) { double a; double b; double result; a = double.Parse(textBox2.Text); b = 50; result = b - a; if (result >= 0) { richTextBox1.Text = string.Format("Sie haben noch : € {0}", result.ToString()); MessageBox.Show("Marke wird ausgedruckt, guten Apettit."); } else MessageBox.Show("Bitte laden Sie Ihre EC-Karte bzw Studentenausweis auf. Ihr Kontostand reicht für die gewünchte Menge nicht aus. "); textBox1.Clear(); textBox2.Clear(); }
Ich bin für jede hilfe sehr dankbar. postet kräftig
-
du musst die Variable result ausserhalb der Funktion deklarieren
-
Siraja schrieb:
du musst die Variable result ausserhalb der Funktion deklarieren
hallo, danke für die schnelle Antwort.
Das habe ich gerade ausprobiert aber das hat leider nicht geklappt
zb erste rechenaufgabe 50-12= 38 (klappt super wie vorhin)
aber danach rehnet es nicht 38-4= 34 sondern wieder 50 -4= 46.
ich weiss nicht wie ich das hinkriegen kann.
-
[quote="pava"]
Siraja schrieb:
du musst die Variable result ausserhalb der Funktion deklarieren
hallo, danke für die schnelle Antwort.
Das habe ich gerade ausprobiert aber das hat leider nicht geklappt
zb erste rechenaufgabe 50-12= 38 (klappt super wie vorhin)
aber danach rehnet es nicht 38-4= 34 sondern wieder 50 -4= 46.
ich glaube dass es irgendwie daran liegt, das b einen konstanten wert hat und zwar 50 deswegen substrahiert das programm immer von dieser 50.
ich weiss nicht wie ich das hinkriegen kann.
-
private int konto = 50; private void button1_Click(object sender, EventArgs e) { int textbox_betrag = Convert.ToInt32(textBox1.Text); if (textbox_betrag <= konto) { konto -= textbox_betrag; } else { //zu wenig Geld } }
ich glaube dass es irgendwie daran liegt, das b einen konstanten wert hat und zwar 50 deswegen substrahiert das programm immer von dieser 50.
ich weiss nicht wie ich das hinkriegen kann.Was hast du auch erwartet?
Wenn du in der Methode jedesmal b den Wert 50 zuweißt, ist doch wohl logisch, dass man immer wieder von der 50 subtrahiert.
-
danke für die antwort , ich bekomme leider noch eine fehlermeldung :
Fehler 1 'System.Windows.Forms.RichTextBox' does not contain a definition for 'text' and no extension method 'text' accepting a first argument of type 'System.Windows.Forms.RichTextBox' could be found (are you missing a using directive or an assembly reference?) C:\Users\Houmya\Documents\Visual Studio 2008\Projects\WindowsFormsApplication1\WindowsFormsApplication1\Form2.cs 128 66 WindowsFormsApplication1
-
Zeig halt mal Code...
-
!T!ext groß
-
Na wundert mich trotzdem was er da hat, auch wenn die Fehlermeldung klar sein sollte, denn Visual Sutdio formatiert das Eingegebene eig. direkt. Wenn ich console.readkey eingebe, wird das zu Console.ReadKey.
-
danke danke es hat geklappt. ich versuche andere kleine probleme jetzt zu besitigen. danke nochmal.
-
hallo, ich hoffe ihr seid auch noch wach.
so ich habe jetzt das nächste und hoffentlich letzte Problem bei diesem Programm.private void button1_Click(object sender, EventArgs e) { double b; b = 1.8; textbox_betrag = Convert.ToDouble(textBox1.Text); if (textbox_betrag != 0){ result = b * textbox_betrag; textBox2.Text = result.ToString(); } else textBox2.Text = b.ToString(); }
Das Problem ist :das Programm soll zwei Beträge multiplizieren zb 4 (Essensmarken)* 1.8(Preis für eine marke). Die 4 steht dann im textbox1 und das Ergebniss im textbox2. Aber wenn textbox1 leer ist , also wenn man nur auf button1 klickt funktioniert das nicht. Mein ziel ist es wenn man auf Button1 klickt sollte da 1.8 stehen.
Wie geht das? ich habe es mit !=0 versucht , aber das ist falsch.habt Ihr eine idee? Danke im Voraus.
-
private void button1_Click(object sender, EventArgs e) { if(textBox1.Text == "") { textBox2.Text = "1.8"; } else { textBox2.Text = Convert.ToString(Convert.ToDouble(textBox1.Text) * 1.8)); } }
-
FreakY<3Cpp schrieb:
private void button1_Click(object sender, EventArgs e) { if(textBox1.Text == "") { textBox2.Text = "1.8"; } else { textBox2.Text = Convert.ToString(Convert.ToDouble(textBox1.Text) * 1.8)); } }
Danke schön es hat super geklappt. Jetzt ist mein Programm endlich mal fertig, jetzt kann ich schlafen gehen
.