>> SPRECHER: Wir implementieren ein Programm, das fordert den Benutzer für eine ganze Zahl
aber weiterhin veranlasst sie für eine andere ganze Zahl bis
dass ganze Zahl ist positiv.
Nun, lassen Sie uns dies schreibe, sind cs50.h, gehören Standard-io Punkt h, int
Haupt [nichtig].
Lassen Sie uns jetzt tatsächlich beginnen zu veran die Benutzer für diese ganze Zahl während in
daran, dass wir Erneut auffordern wollen , bis dass
Anzahl ist eigentlich positiv.
>> Also werde ich eine Art Looping wollen Konstrukt, sondern eine Schleife ausführt, die auf
mindestens einmal.
Und erinnern an die do-while-Schleife können uns, genau das zu tun.
Lassen Sie uns diese bis zu codieren.
>> Lassen Sie uns zuerst einen int erklären - wir werden nennen es n - in dem zum Speichern der
ganzzahligen Benutzers.
Lassen Sie uns jetzt die folgenden.
Printf, bitte geben Sie mir eine positive int.
Lassen Sie uns nun mit bekommen, dass int der CS50 Bibliothek GetInt
Funktion, n bekommt GetInt.
Und jetzt sind wir fertig, etwas zu tun, aber wir werden dies tun zu wollen
während n -
was? -
weniger als 1, wenn wir in der Tat wollen eine positive ganze Zahl.
>> Lassen Sie uns jetzt voran gehen und ausdrucken.
Wenn alles gut geht, danke für die positive int,
Semikolon, speichern Sie die Datei.
Lassen Sie uns jetzt kompilieren und ausführen.
>> Machen Sie positive Punktstrich positiv.
Und jetzt bin ich aufgefordert wird für eine positive int.
Lassen Sie mich mit ein kooperieren.
Vielen Dank für das positive int.
>> Lassen Sie uns nun dieses Programm erneut und nicht zu kooperieren.
Bitte geben Sie mir eine positive int.
Wie wäre es mit minus 1?
Interessante.
Das Programm ist bereits reprompted mich für eine int.
>> Seien wir etwas mehr schwer mit 0.
Immer noch nicht positive int, also lassen zusammenarbeiten und dieses Mal
stellen wiederum 1.
Vielen Dank für das positive int.
>> Jetzt ist es wichtig zu beachten, dass ich erklärte meine Variable n auf der Linie 6,
außerhalb der do-while-Schleife.
Hätte ich stattdessen erklärt n Innenseite meiner do-while-Schleife, die speziell auf, sagen wir,
Zeile 10, wo ich auch die von int der Benutzer, dass int n haben nur
innerhalb der Grenzen der geschweiften bestanden Klammern, die sich gerade befinden
Linie 8 und auf der Linie 11.
>> Mit anderen Worten, n zu eingeschränkt werden das Innere dieser do-while-Schleife.
Aber das Problem ist, dass wir auch will n in Zeile 12 zu verwenden
innerhalb der Bedingung.
Also auch wenn es nicht so aussieht, so recht, es ist sehr viel, dass bewusste
n außerhalb erklärt diese do-while-Schleife.