>> SPEAKER: Poďme realizovať program, ktorý vyzve užívateľa k celé číslo
ale stále je výzvou ďalšie celé číslo až do
že číslo je pozitívny.
Dobre, poďme to napísať, patrí cs50.h, zahŕňajú štandardný io bodka h, int
Hlavným [void].
Teraz poďme vlastne začať výzva užívateľ pre túto integer a zároveň mať na
na tom, že chceme, aby reprompt je do tej
číslo je vlastne pozitívne.
>> Takže budem chcieť nejakú zacykleniu postaviť, ale slučka, ktorá sa vykonáva v
najmenej raz.
A spomínam do-while umožňuje , Aby sme urobili presne to.
Poďme kód to.
>> Poďme si najprv deklarovať int - budeme nazývajú n - do ktorej chcete uložiť
číslo užívateľa.
Poďme sa vykonať nasledujúce kroky.
Printf, prosím, daj mi pozitívne int.
Poďme sa dostať, že int pomocou na CS50 knižnice vezmi_int
funkcie, n dostane vezmi_int.
A teraz sme urobili niečo, ale budeme chcieť, aby to
vtedy, keď n je -
čo? -
menej ako 1, ak sa skutočne Ak kladné celé číslo.
>> Poďme do toho hneď a vytlačiť.
Ak je všetko v poriadku, vďaka pre pozitívny int,
bodkočiarka, uložte súbor.
Poďme sa teraz skompilovať a spustiť.
>> Urobiť pozitívny bodka lomítko pozitívny.
A teraz som bol vyzvaný pre pozitívny int.
Dovoľte mi, aby som spolupracovať s 1..
Vďaka za pozitívny int.
>> Poďme sa teraz znovu tento program a nie spolupracovať.
Prosím, dajte mi pozitívne int.
Ako sa o negatívny 1?
Zaujímavé.
Program je už reprompted mi pre int.
>> Buďme trochu viac ťažké s 0.
Stále nie je kladný int, tak sa poďme spolupracovať a tentoraz
poskytujú, opäť, 1..
Vďaka za pozitívny int.
>> Teraz je dôležité si uvedomiť, že ja vyhlásil môj premenná n na linke 6,
mimo do-while.
Keby som namiesto toho vyhlásil n vnútri môjho do-while, konkrétne na, povedzme,
riadok 10, kde som sa tiež získať na int z užívateľ, ktorý int n by mal iba
existovali v medziach zložených rovnátka, ktoré sú v súčasnej dobe na
linka 8 a na linke 11.
>> Inými slovami, n by byť vymedzená na v tejto do-while.
Ale problém je, že my tiež chcete použiť n v súlade 12
vnútri stavu.
Takže aj keď to nevyzerá tak, celkom, je to veľmi úmyselné, že
n je deklarovaná mimo tento do-while.