C# :: Aufgabe #23
12 Lösungen

Zahlen Raten - Anfänger
Anfänger - C#
von zayc_
- 28.12.2012 um 13:49 Uhr
Das zu Programmierende Programm soll eine zufallszahl (integer, <=1, >=100) generieren.
Der User soll diese erraten. Nach jedem versuch soll der User darüber informiert werden, der wie vielte Versuch es war, ob er richtig oder falsch liegt, und wenn er falsch liegt ob die gesuchte Zahl grösser oder kleiner als die vom User eingegebene ist.
Beispiel einer Konsolenausgabe:
Der User soll diese erraten. Nach jedem versuch soll der User darüber informiert werden, der wie vielte Versuch es war, ob er richtig oder falsch liegt, und wenn er falsch liegt ob die gesuchte Zahl grösser oder kleiner als die vom User eingegebene ist.
Beispiel einer Konsolenausgabe:
Konsolenausgabe:
Bitte erraten sie die gesuchte zahl, sie befindet sich wichen 1 und 100.
ihr 1. Versuch: 6
die gesuchte Zahl ist Kleiner.
ihr 2. Versuch: 2
die gesuchte Zahl ist Grösser.
ihr 3. Versuch: 4
Glückwunsch die von Ihnen eingegebene Zahl ( 4 ) stimmt mit der gesuchten Zahl Überein.
Lösungen:

void main() { Console.WriteLine("Bitte erraten Sie die gesuchte Zahl, sie befindet sich zwischen 1 und 100."); int random = GetRandom(1,100); int versuch = 1; int eingabe = 0; do { Console.Write("Ihr {0}. Versuch: ", versuch); eingabe = int.Parse(Console.ReadLine()); if (eingabe > random) { Console.WriteLine("Die gesuchte Zahl ist Kleiner."); } else if (eingabe < random) { Console.WriteLine("Die gesuchte Zahl ist Größer."); } else { Console.WriteLine("Glückwunsch die von Ihnen eingegebene Zahl ({0}) stimmt mit der gesuchten Zahl überein.", random); } versuch++; } while (eingabe != random); } private static int GetRandom(int lower, int upper) { Random r = new Random(); return r.Next(lower, upper); }

void main() { Console.WriteLine("Bitte erraten Sie die gesuchte Zahl, sie befindet sich zwischen 1 und 100."); int random = GetRandom(1,100); int versuch = 1; int eingabe = 0; do { Console.Write("Ihr {0}. Versuch: ", versuch); eingabe = int.Parse(Console.ReadLine()); if (eingabe > random) { Console.WriteLine("Die gesuchte Zahl ist Kleiner."); } else if (eingabe < random) { Console.WriteLine("Die gesuchte Zahl ist Größer."); } else { Console.WriteLine("Glückwunsch die von Ihnen eingegebene Zahl ({0}) stimmt mit der gesuchten Zahl überein.", random); } versuch++; } while (eingabe != random); } private static int GetRandom(int lower, int upper) { Random r = new Random(); return r.Next(lower, upper); }

using System; namespace Zahlenerraten { class MainClass { public static void Main (string[] args) { Random rnd = new Random(); int zuerratenezahl = rnd.Next (1,101); Console.WriteLine ("Erraten sie eine Zahl zwischen 1 und 100."); for ( int i = 1; i <= 10; i++) { Console.Write ("Ihr {0}. Versuch: ",i); int Zahl = Convert.ToInt32(Console.ReadLine ()); if ( Zahl == zuerratenezahl) { Console.WriteLine ("Herzlichen Glückwunsch, sie haben die Zahl ({0}) erraten!!",zuerratenezahl); break; } else if (Zahl < zuerratenezahl) { Console.WriteLine ("Die Zahl ist größer!"); continue; } else if (Zahl > zuerratenezahl) { Console.WriteLine ("Die Zahl ist kleiner!"); continue; } } } } }

using System; namespace zahlenRaten { class Program { static void Main(string[] args) { Random rnd = new Random(); int zuErratendeZahl = rnd.Next(1, 100); int versuch = 1; int eingabe = 0; Console.WriteLine("Bitte erraten sie die gesuchte zahl, sie befindet sich zwischen 1 und 100."); do { Console.Write("Ihr {0}. Versuch: ", versuch); if(!Int32.TryParse(Console.ReadLine(), out eingabe)) Console.WriteLine("Geben Sie eine Ganzzahl zwischen 1 und 100 ein."); if (zuErratendeZahl < eingabe) Console.WriteLine("Die gesuchte Zahl ist kleiner."); else if (zuErratendeZahl > eingabe) Console.WriteLine("Die gesuchte Zahl ist größer."); versuch++; } while (eingabe != zuErratendeZahl); Console.WriteLine("Glückwunsch die von Ihnen eingegebene Zahl ( {0} ) stimmt mit der gesuchten Zahl überein.", eingabe); } } }

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace _16._3.b___Zahlenraten { class Program { static void Main(string[] args) { Console.WriteLine("Bitte erraten Sie die gesuchte Zahl, sie befindet sich zwischen 1 und 100"); Random rnd = new Random(); int r = rnd.Next(1, 101); int x = 0; int i = 0; for(x=Convert.ToInt32(Console.ReadLine()); x!=r; x=Convert.ToInt32(Console.ReadLine())) { i++; Console.WriteLine("Das war der {0}. Versuch. Die gesuchte Zahl ist {1}.", i, BiggerSmaller(x,r)); } Console.WriteLine("Die von Ihnen eingegebene Zahl {0} stimmt mit der gesuchten überein. Sie haben {1} Versuche gebraucht.", x, i); Console.ReadKey(); } public static string BiggerSmaller(int r, int x) { if (x > r) return "größer"; if (x < r) return "kleiner"; return null; } } }

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ZahlenratenKonsole { class Program { static void Main(string[] args) { Random rnd = new Random(); int a = rnd.Next(1, 101); int b = a; Console.WriteLine("Bitte erraten Sie die gesuchte Zahl, sie befindet sich zwischen 1 und 100"); bool c = true; while (c == true) { int i = 0; i++; int d = Convert.ToInt32(Console.ReadLine()); if (d > b) { Console.WriteLine("Die Gesuchte Zahl ist kleiner als die eingegebene"); } else if (d < b) { Console.WriteLine("Die Gesuchte Zahl ist Größer als die eingegebene"); } else if (d == b) { Console.WriteLine("GLÜCKWUNSCH! DU HAST GEWONNEN!!!"); break; } else { Console.WriteLine("Deine Zahl fällt voll aus dem rahmen"); } Console.WriteLine("Das war der " + i + " versuch"); } Console.ReadKey(); } } }

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace LangsamMachtsSpass { class Program { static void Main(string[] args) { string antwort = ""; do { Random rnd = new Random(); int versuch = 0, zahl, raten; string eingabe = "-1"; bool valid = false; Console.Clear(); zahl = rnd.Next(1, 101); Console.WriteLine("Erraten sie die Pseudozufallszahl (1-100)"); while (int.Parse(eingabe) != zahl) { do { Console.Write("Deine {0}. Versuch: ", ++versuch); eingabe = Console.ReadLine(); valid = int.TryParse(eingabe, out raten); } while (valid != true || raten < 1 || raten > 100); if (raten < zahl) { Console.WriteLine("Die Zufallszahl ist größer."); } else if (raten > zahl) { Console.WriteLine("Die Zufallszahl ist kleiner."); } else { Console.WriteLine("Richtig :)\nWillst du noch einmal spielen? (N - Nein)"); antwort = Console.ReadLine().ToUpper(); } } } while (antwort[0] != 'N'); } } }

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Zahlenraten { class Program { static void Main(string[] args) { int Obergrenze = 0; int Untergrenze = 0; int GesuchteZahl = 0; int Zahl = 0; int Versuch = 0; Random rnd = new Random(); Console.Write("Bitte Obergrenze angeben: "); Obergrenze = Convert.ToInt32(Console.ReadLine()); Console.Write("Bitte Untergrenze angeben: "); Untergrenze = Convert.ToInt32(Console.ReadLine()); Console.WriteLine(""); Console.WriteLine("Bitte geben Sie nach jedem Versuch R, G oder K an. Je nachdem ob \nR die Zahl richtig ist \nG die gesuchte Zahl größer ist \ndie gesuchte Zahl kleiner ist"); Console.WriteLine(""); Console.WriteLine(""); Console.WriteLine(""); GesuchteZahl = rnd.Next(Untergrenze, Obergrenze); Console.WriteLine("Bitte geben Sie eine Zahl ein: "); while (Zahl != GesuchteZahl) { Zahl = raten(GesuchteZahl, Obergrenze, Untergrenze); Versuch++; Console.WriteLine("{0}. Versuch:\t{1}", Versuch, Zahl); } Console.ReadLine(); } public static int raten(int GesuchteZahl, int Obergrenze, int Untergrenze) { int Zahl = 0; Zahl = Convert.ToInt32(Console.ReadLine()); if (Zahl > GesuchteZahl) { Console.Write("K\t"); } else if (Zahl == GesuchteZahl) { Console.WriteLine("Herzlichen Glückwunsch Sie haben die Zahl erraten! {0}\t", GesuchteZahl); } else if (Zahl < GesuchteZahl) { Console.Write("G\t"); } return Zahl; } } }

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace TrainYourProgrammer23 { class Program { static void Main(string[] args) { bool gesucht = true; int versuch = 1; Random random = new Random(); int suche = random.Next(1, 101); Console.WriteLine("Bitte erraten Sie die gesuchte Zahl, sie befindet sich zwischen 1 und 100."); while(gesucht) { Console.Write("Ihr {0}. Versuch: ", versuch); int eingabe = Convert.ToInt32(Console.ReadLine()); if (eingabe < suche) { Console.WriteLine("Die gesuchte Zahl ist größer."); } else if (eingabe > suche) { Console.WriteLine("Die gesuchte Zahl ist kleiner."); } else { Console.WriteLine("Glückwunsch die von Ihnen eingegebene Zahl {0} stimmt mit der gesuchten Zahl überein.", eingabe); gesucht = false; } versuch++; } Console.ReadKey(); } } }

static void Aufgabe_23() { Random random = new Random(); Boolean erraten = false; int counter = 1, gerateneZahl, zufallsZahl; zufallsZahl = random.Next(1, 101); Console.WriteLine("Bitte erraten Sie die gesuchte Zahl, sie befindet sich zwischen 1 und 100"); while (!erraten) { Console.Write("Ihr {0}. Versuch: ", counter); gerateneZahl = Convert.ToInt16(Console.ReadLine()); if (gerateneZahl > zufallsZahl) { Console.WriteLine("Die gesuchte Zahl ist kleiner."); } else if (gerateneZahl < zufallsZahl) { Console.WriteLine("Die gesuchte Zahl ist größer"); } else if (gerateneZahl == zufallsZahl) { Console.WriteLine("Glückwunsch die von Ihnen eingegebene Zahl ( {0} ) stimmt mit der gesuchten Zahl überein", gerateneZahl); erraten = true; } counter++; } }

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ZahlenRaten { class Program { static void Main(string[] args) { var input = ""; int tempt = 1; bool convertError; Random rand = new Random(); int random = Getrandom(1, 10); int counter = 1; int Getrandom(int lower, int upper) { return rand.Next(lower, upper); } Console.WriteLine("**************************Erratenspiel********************************"); { do { do { Console.WriteLine("Erraten Sie eine Zahl zwischen (1 und 10) deren ich ausgedacht habe ^-^ "); input = Console.ReadLine(); convertError = int.TryParse(input, out tempt); if (convertError == false || tempt > 10) { Console.WriteLine("[Fehler] Geben Sie bitte eine richtige Zahl zwichen (1 und 10) ein !"); } } while (convertError == false || tempt > 10); { Console.Write("Ihr {0}. Versuch: ", counter+0); } if (tempt > random) { Console.WriteLine("Die gesuchte Zahl ist kleiner"); } else if (tempt < random) { Console.WriteLine("Die gesuchte Zahl ist größer"); } else if (tempt == random) { Console.WriteLine("Glückwünsch : Ihre Einegabe war richtig und die Zahl stimmt mit der Gesuchtezahl überein "); break; } counter++; } while (counter < 4 || tempt == random); Console.WriteLine("****************Das Spiel wird beendet und den richtigen Zahl ist: " + random + " ******************"); Console.ReadKey(); } } } }
Nun so wird die Ausgabe :
Konsolenausgabe:
**************************Erratenspiel********************************
Erraten Sie eine Zahl zwischen (1 und 10) deren ich ausgedacht habe ^-^
1
Ihr 1. Versuch: Die gesuchte Zahl ist größer
Erraten Sie eine Zahl zwischen (1 und 10) deren ich ausgedacht habe ^-^
2
Ihr 2. Versuch: Die gesuchte Zahl ist größer
Erraten Sie eine Zahl zwischen (1 und 10) deren ich ausgedacht habe ^-^
3
Ihr 3. Versuch: Die gesuchte Zahl ist größer
****************Das Spiel wird beendet und den richtigen Zahl ist: 8 ******************

static void Main(string[] args) { Console.WriteLine("Geben Sie eine Zahl zwischen 1 und 100 ein: "); Random rn = new Random(); int r = rn.Next(1, 101); bool j = true; int versuch = 1; while (j) { for (int i = 0; i < 100; i++) { Console.WriteLine("Ihr {0} Versuch:", versuch); versuch++; int input = Convert.ToInt32(Console.ReadLine()); if (input < r) { Console.WriteLine("Die gesuchte Zahl ist größer."); break; } else if (input > r) { Console.WriteLine("Die gesuchte Zahl ist kleiner."); break; } else { Console.WriteLine("Die Eingabe war korrekt!"); j = false; } Console.ReadLine(); break; } } }