|| ERLEDIGT || Zufälliges Rechenzeichen

  • geschlossen
  • C#

  • pizza hotel
  • 1931 Aufrufe 4 Antworten

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • || ERLEDIGT || Zufälliges Rechenzeichen

    Hi

    ich habe kürzlich angefangen, C# zu programmieren und habe wie so viele ein kleines Rechenprogramm geschrieben. Jetzt möchte ich dass das Rechenzeichen ebenfalls (bis jetzt werden nur die Zahlen zufällig gemacht) zufällig generiert wird. Kann mir jemand den Sourcecode dazu schreiben und evtl. kurz erklären?

    Wäre nett. Danke im vorraus


    MfG pizza hotel
    Waffen töten keine Menschen! Menschen töten Menschen. Waffen schützen Menschen vor Menschen mit kleineren Waffen!

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von pizza hotel ()

  • Ich würd dir da einfach zu nem switch raten.

    Hier mal eine Beispiel Methode

    private int randomCalc(int zahl1, int zahl2)
    {
    Random ran = new Random();
    switch (ran.Next(3))
    {
    case 0:
    return zahl1 + zahl2;
    case 1:
    return zahl1 - zahl2;
    case 2:
    return zahl1 / zahl2;
    case 3:
    return zahl1 * zahl2;
    }
    return 0;
    }
  • Wo muss ich dass denn einbauen? Hab bis jetzt mal den Code hier:

    Quellcode

    1. private void button3_Click(object sender, EventArgs e)
    2. {
    3. int zahl1 = Convert.ToInt32(textBox1.Text);
    4. int zahl2 = Convert.ToInt32(textBox2.Text);
    5. int zahl3 = Convert.ToInt32(textBox3.Text);
    6. if (zahl1 + zahl2 == zahl3)
    7. {
    8. MessageBox.Show("Richtig!");
    9. punkte++;
    10. label3.Text = "Punkte: " + Convert.ToString(punkte);
    11. }
    12. else
    13. {
    14. MessageBox.Show("Falsch!");
    15. punkte--;
    16. label3.Text = "Punkte: " + Convert.ToString(punkte);
    17. };
    18. textBox3.Focus();
    19. textBox3.Text = " ";
    20. System.Random r = new System.Random();
    21. z1 = r.Next(101);
    22. z2 = r.Next(101);
    23. textBox1.Text = Convert.ToString(z1);
    24. textBox2.Text = Convert.ToString(z2);
    25. }
    Alles anzeigen


    Außerdem einen Button für "Neue Aufgabe" und einen Beenden Button. Ich habe zwei Textfelder gemacht, dazwischen ein Label mit dem Rechenzeichen. Wie mache ich das, dass der das Label auch ändert?


    Hier mal der Komplette Code:

    Quellcode

    1. using System;
    2. using System.Collections.Generic;
    3. using System.ComponentModel;
    4. using System.Data;
    5. using System.Drawing;
    6. using System.Linq;
    7. using System.Text;
    8. using System.Windows.Forms;
    9. namespace WindowsFormsApplication1
    10. {
    11. public partial class Form1 : Form
    12. {
    13. int z1 =0;
    14. int z2 =0;
    15. int punkte = 0;
    16. public Form1()
    17. {
    18. InitializeComponent();
    19. }
    20. private void button3_Click(object sender, EventArgs e)
    21. {
    22. int zahl1 = Convert.ToInt32(textBox1.Text);
    23. int zahl2 = Convert.ToInt32(textBox2.Text);
    24. int zahl3 = Convert.ToInt32(textBox3.Text);
    25. if (zahl1 + zahl2 == zahl3)
    26. {
    27. MessageBox.Show("Richtig!");
    28. punkte++;
    29. label3.Text = "Punkte: " + Convert.ToString(punkte);
    30. }
    31. else
    32. {
    33. MessageBox.Show("Falsch!");
    34. punkte--;
    35. label3.Text = "Punkte: " + Convert.ToString(punkte);
    36. };
    37. textBox3.Focus();
    38. textBox3.Text = " ";
    39. System.Random r = new System.Random();
    40. z1 = r.Next(101);
    41. z2 = r.Next(101);
    42. textBox1.Text = Convert.ToString(z1);
    43. textBox2.Text = Convert.ToString(z2);
    44. }
    45. private void button1_Click(object sender, EventArgs e)
    46. {
    47. MessageBox.Show("Schon genug, oder was??!!");
    48. Application.Exit();
    49. }
    50. private void button2_Click(object sender, EventArgs e)
    51. {
    52. System.Random r = new System.Random();
    53. z1 = r.Next(101);
    54. z2 = r.Next(101);
    55. textBox1.Text = Convert.ToString(z1);
    56. textBox2.Text = Convert.ToString(z2);
    57. }
    58. private void Form1_Load(object sender, EventArgs e)
    59. {
    60. System.Random r = new System.Random();
    61. z1 = r.Next(101);
    62. z2 = r.Next(101);
    63. textBox1.Text = Convert.ToString(z1);
    64. textBox2.Text = Convert.ToString(z2);
    65. }
    66. }
    67. }
    Alles anzeigen



    MfG pizza hotel
    Waffen töten keine Menschen! Menschen töten Menschen. Waffen schützen Menschen vor Menschen mit kleineren Waffen!
  • Um unnötige Redunanzen im Code zu vermeiden, würde ich die Aufgabengenerierung einer eigenen Methode überlassen (momentan machst du das ja sowohl im form_load als auch in button3_Click), die auch sinnvolerweise das Ergebnis zurückgibt.

    Quellcode

    1. private int genTask()
    2. {
    3. int ergebnis;
    4. System.Random r = new System.Random();
    5. z1 = r.Next(101);
    6. z2 = r.Next(101);
    7. textBox1.Text = Convert.ToString(z1);
    8. textBox2.Text = Convert.ToString(z2);
    9. switch (r.Next(3))
    10. {
    11. case 0:
    12. ergebnis = zahl1 + zahl2;
    13. label_Rechenzeichen.Text = "+";
    14. break;
    15. case 1:
    16. ergebnis = zahl1 - zahl2;
    17. label_Rechenzeichen.Text = "-";
    18. break;
    19. case 2:
    20. ergebnis = zahl1 / zahl2;
    21. label_Rechenzeichen.Text = "/";
    22. break;
    23. case 3:
    24. ergebnis = zahl1 * zahl2;
    25. label_Rechenzeichen.Text = "*";
    26. break;
    27. }
    28. return(ergebnis);
    29. }
    Alles anzeigen