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.