>> SPEAKER: Pojďme realizovat program, který vyzve uživatele k celé číslo
ale stále je výzvou další celé číslo až do
že číslo je pozitivní.
Dobře, pojďme to napsat, patří cs50.h, zahrnují standardní io tečka h, int
Hlavním [void].
Nyní pojďme vlastně začít výzva uživatel pro tuto integer a zároveň mít na
na tom, že chceme, aby reprompt je do té
číslo je vlastně pozitivní.
>> Takže budu chtít nějakou zacyklení postavit, ale smyčka, která se vykonává v
nejméně jednou.
A vzpomínám do-while umožňuje , abychom udělali přesně to.
Pojďme kód to.
>> Pojďme si nejprve deklarovat int - budeme nazývají n - do níž chcete uložit
číslo uživatele.
Pojďme se provést následující kroky.
Printf, prosím, dej mi pozitivní int.
Pojďme se dostat, že int pomocí na CS50 knihovny vezmi_int
funkce, n dostane vezmi_int.
A teď jsme udělali něco, ale budeme chtít, aby to
když n je -
co? -
méně než 1, pokud se skutečně Chcete-kladné celé číslo.
>> Pojďme do toho hned a vytisknout.
Pokud je vše v pořádku, díky pro pozitivní int,
středník, uložte soubor.
Pojďme se nyní zkompilovat a spustit.
>> Udělat pozitivní tečka lomítko pozitivní.
A teď jsem byl vyzván pro pozitivní int.
Dovolte mi, abych spolupracovat s 1..
Díky za pozitivní int.
>> Pojďme se nyní znovu tento program a ne spolupracovat.
Prosím, dejte mi pozitivní int.
Jak se o negativní 1?
Zajímavé.
Program je již reprompted mi pro int.
>> Buďme trochu více obtížné s 0.
Stále není kladný int, tak se pojďme spolupracovat a tentokrát
poskytují, opět, 1..
Díky za pozitivní int.
>> Nyní je důležité si uvědomit, že já prohlásil můj proměnná n na lince 6,
mimo do-while.
Kdybych místo toho prohlásil n uvnitř mého do-while, konkrétně na, řekněme,
řádek 10, kde jsem se také získat na int z uživatel, který int n by měl pouze
existovaly v mezích složených rovnátka, které jsou v současné době na
linka 8 a na lince 11.
>> Jinými slovy, n by být vymezena na v této do-while.
Ale problém je, že my také chcete použít n v souladu 12
uvnitř stavu.
Takže i když to nevypadá tak, docela, je to velmi úmyslné, že
n je deklarována mimo tento do-while.