Hallo und herzlich willkommen.
Seid ihr bereit für eine weitere Herausforderung?
Ich weiß, ich bin.
Jetzt, wo wir fertig sind, reden wir Über Schleifen wenden wir sie an.
Versuchen wir es herauszufinden wie man ein Problem löst.
Bei dieser Herausforderung wirst du es also tun Erstellen Sie eine Vermutung für das Programm mit der Nummer c.
Es wird ziemlich cool.
Es wird ein kleines Spiel.
Was passieren wird, ist dein Das
Programm generiert eine Zufallszahl von 0 bis 20.
Nachdem Sie das generiert haben Zufallszahl, werden Sie den
Benutzer bitten, zu erraten, was es ist.
Der Benutzer sollte also nur in der Lage sein Zahlen von 0 bis 20 eingeben.
Wenn sie versuchen zu raten wie die Nummer 50, Sie werden einen
Fehler anzeigen und sagen, hey, Sie können Geben Sie nur Zahlen von 0 bis 20 ein.
Das ist also eine Bedingung.
Aber sobald der Benutzer tatsächlich eine bekommt Vermutung und es ist eine gültige
Vermutung, dann werden Sie dem Benutzer sagen, ob oder nicht, sie waren zu hoch oder zu niedrig.
Oder wenn sie richtig waren, wirst du Anzeige sagt, dass sie korrekt sind
und sie das Spiel gewinnen werden.
Jetzt haben sie nur noch eine bestimmte Häufigkeit, mit der sie die
richtige Anzahl erraten können.
Sie können nur raten die Nummer 5 mal.
Nach fünf Mal verlieren sie das Spiel.
In diesem Spiel dreht sich alles um die richtige Zahl erraten.
Beliebige Zahl von 0 bis 20, die Sie möchten Überprüfen Sie die Eingabe des Benutzers, um sicherzustellen, dass
er von 20 für 0 eingegeben hat.
Und wenn sie etwas betraten und sie Haben Sie weniger als 5 Versuche, Sie werden ihnen
sagen, hey, das war zu hoch oder, hey, das war zu niedrig als die
Zahl, die sie erraten sollten.
Und das sind die Grundlagen Anforderungen des Programms, eine
grundlegende Vermutung Ihres Zahlentypspiels.
Wie sieht nun die Ausgabe aus?
Um Ihnen eine Vorstellung davon zu geben, wie ich entworfen, möchten Sie vielleicht folgen.
Diese. Als ich anfing das Programm zeigte ich eine kleine Nachricht.
Ich sagte, das ist ein Ratespiel, Nur damit sie wissen, was los ist.
Ich sagte ihnen dann, dass ich habe wählte eine Zahl zwischen 0 und
20, die Sie erraten müssen.
Sie haben noch fünf Versuche zu erraten.
Ich sagte dann, geben Sie eine Vermutung ein.
Sie sollten ihre Vermutung eingeben.
Sie gaben 12 ein und ich druckte out, sorry 12 ist falsch meine Nummer
ist kleiner als das.
Und dann habe ich dich angezeigt Ich habe noch vier Versuche.
Dann gaben sie eine Vermutung von 8, und ich sagte, nun, 8 ist auch
falsch, meine Nummer ist kleiner als das.
Und dann haben sie 3 eingegeben, sagte ich ihnen hatten 3 Versuche übrig, sie gaben 4 ein.
Ich sagte 4 ist falsch.
Und dann hatten sie 2 Versuche links, und sie
erraten schließlich meine Nummer, die 2 war.
Sobald sie die richtige Zahl erraten haben, Ich habe ihnen Glückwünsche gesagt,
Sie haben es erraten, also haben sie das Spiel gewonnen weil sie noch 2 Versuche hatten.
Es ist eine grundlegende Art von einfachem Spiel Wohin Sie
if-Anweisungen verwenden müssen, gehen Sie während Schleifen verwenden müssen.
Sie müssen also a verwenden Schleife in dieser, weil
Sie bis zur Eingabe immer wieder nach Eingaben fragen müssen Benutzer richtig erraten oder bis
die Anzahl der Versuche über 5 war.
Also einer der besten Wege dazu Wenn Sie ein Programm wie dieses starten, schreiben Sie auf, wie
es Ihnen geht um das Programm auf Papier zu erstellen.
Und ich würde vorschlagen, dass Sie das tun denn wenn Sie aufschreiben, wie Sie das
Problem auf Papier angreifen werden, es wird einfacher zu lösen sein.
Und du kannst es ausschreiben Pseudocode, es ist also nur
die englische Sprache, aber Sie möchten sich identifizieren Wo wirst du die Loops haben
und wo wirst du das Wenn haben? Anweisungen, um die Bedingungen zu überprüfen.
Weil du dir das ansiehst Ausgabe gibt es viele Bedingungen, auf
die Sie prüfen müssen.
Die while-Schleife wird überprüft Für Bedingungen oder die for-Schleife wird überprüft,
ob dies der Fall ist Beendet die Schleife, wenn Sie richtig geraten haben oder wenn Sie
für Versuche höher als 5 sind.
Du wirst Bedingungen dafür haben Überprüfen Sie auch, was sie eingegeben haben.
Also wirst du eine haben if Aussage zu sagen, hey,
Sie haben gerade eine Nummer eingegeben.
Und wenn es nicht zwischen 0 und 20 ist und das kann sein, dass Sie auch eine
verschachtelte Schleife für diesen Fall haben möchten.
Weil du immer wieder fragen willst sie, um eine andere Nummer
einzugeben, bis sie eine gültige Nummer eingeben, Nicht die richtige Nummer, die Sie erraten
haben, sondern eine gültige Nummer.
Also konnte ich das sehen Programmieren Sie eine äußere Schleife.
Die äußere Schleife wäre die Schleife, die hat den Benutzer gebeten, Zahlen einzugeben, bis er
die erfolgreich erraten hat richtige Anzahl oder bis sie ihre Anzahl von
Versuchen erfolgreich abgeschlossen haben.
Ich konnte eine innere Schleife sehen, wo es fragt, ob die Zahl zwischen 0 und 20
nicht gültig ist, sie fragen weiter der Benutzer, um eine gültige Nummer einzugeben.
Und dann kann ich sehen, ob Aussagen zu Überprüfen Sie grundsätzlich, ob
die Anzahl zu niedrig, zu hoch oder gleich ist.
Weil Sie mehrere Ausgänge haben Bedingungen für Ihre äußere
Schleife, ob Sie es erraten haben oder nicht richtig oder ob die Zahlen
gleich sind oder nicht, das kann gut sein Fall für die Verwendung einer break-Anweisung.
Denn denk dran, du benutzt die break-Anweisung, wenn Sie
mehrere Exits haben.
Und so könnten Sie etwas haben in deiner äußeren Schleife, die
sagt, wenn sie richtig raten, springe raus.
Und dann der Zustand im Äußeren Schleife selbst in der while-Schleife oder der for-Schleife selbst,
die Bedingung x Es wäre, ob die Anzahl der Versuche größer
als 5 ist oder nicht.
Das ist also ein Designansatz.
Ich habe viele Dinge erwähnt.
Das einzige, was noch übrig ist, hast du alles zu Ihrer Verfügung.
Wenn du alles gelernt hast, was ich erwähnt habe außer diesem Zufallszahlengenerator.
Das ist neu.
Sie wissen, wie man if-Anweisungen macht, Sie wissen, wie man
Schleifen macht, Sie wissen, wie man Variablen deklariert, Sie kennen all diese schönen Dinge.
Sie wissen, wie man eine Ausgabe druckt die Anzeige, aber Sie wissen nicht,
wie man einen Zufallszahlengenerator macht.
Also werde ich geben Sie den Code dafür.
Sie müssen eine Zufallszahl generieren.
Denn jedes Mal, wenn Sie das ausführen Programm möchten Sie eine neue
Nummer haben, die sie erraten können.
Also um eine Zufallszahl zu generieren von 0 bis 20 sind dies die Schritte,
denen Sie folgen müssen.
Zuerst müssen Sie 2 zusätzliche hinzufügen Bibliotheken, die stdlib. h, Zeit. h.
Sie möchten also diese Include hinzufügen Anweisungen oben in Ihrer Datei.
Sdtlib. Mit h können Sie verwenden die srand-Funktion, mit der
Sie Zufallszahlen generieren können.
Zeit. Mit h können Sie die Startwert für die Zufallszahl unter Verwendung der
Zeit, wobei die aktuelle Zeit abgerufen wird.
Also, wenn wir zusätzliche hinzufügen Bibliotheken außerhalb unseres Programms bedeutet nur, dass wir
eine Leistung erbringen möchten einige zusätzliche Funktionen.
Wir haben nicht über alles gesprochen Standardbibliotheken, mit denen c kommt,
aber sie kommen mit 2 schönen diejenigen, um die aktuelle Zeit zu erhalten und auch
eine zufällige zu generieren Nummer, die wir verwenden werden.
Also schließen wir diese zuerst ein 2 Anweisungen oben.
Dann werden wir eine erstellen Variable
innerhalb unserer Hauptfunktion namens time_t und Sie kann es einfach t nennen, das fügst du hinzu.
Sobald Sie Ihre Zeitvariable hinzugefügt haben, werden Sie kann Ihren
Zufallszahlengenerator mit der srand-Funktion initialisieren.
Also sagst du srand.
Dies liefert einen Samen zu Der Zufallsgenerator wird nur
zum Initialisieren verwendet.
Und hier kopieren Sie einfach diese Zeile von Code srand ((ohne Vorzeichen) und dann Zeit und dann übergeben Sie
ein kaufmännisches Und t.
Ich muss nicht einmal verstehen Was dieser Code bewirkt, kopieren Sie ihn
einfach und fügen Sie ihn ein.
Aber es erzeugt eine zufällig, es initialisiert
den Zufallszahlengenerator.
Nachdem Sie a initialisiert haben Zufallszahlengenerator, müssen
Sie die Zahl generieren.
Und alles, was Sie tun, um das zu generieren Nummer
ist, Sie sagen Rand, Sie rufen eine Funktion namens Rand und Sie Sagen Sie% 21, das ist ein Modul, weil Sie möchten,
dass es zwischen 0 liegt und 21 verwenden Sie 21 fest codierte.
Sie können diese Zufallszahl speichern in einer ganzen Zahl, und das ist die Zahl, die
Sie vergleichen werden gegen, um die Schleife zu verlassen, ob sie richtig
geraten haben oder nicht.
Es wird auch die Nummer sein dass Sie mit uh vergleichen, um
festzustellen, ob oder nicht Sie drucken zu niedrig oder zu hoch.
Das sollte also viel Spaß machen.
Wieder viele Konzepte, die Sie gehen ausgesetzt zu
sein, wenn Anweisungen, Schleifenkonstrukte, die Pause Aussage, innere und äußere Schleifen,
verschachtelte Schleifen, viele nette Sachen.
Also viel Glück, viel Spaß, und ich werde in der nächsten Vorlesung
eine Lösung anbieten. Vielen Dank.