1 00:00:00,000 --> 00:00:00,330 2 00:00:00,330 --> 00:00:03,230 >> SPEAKER: Pojďme realizovat program, který vyzve uživatele k celé číslo 3 00:00:03,230 --> 00:00:05,850 ale stále je výzvou další celé číslo až do 4 00:00:05,850 --> 00:00:07,590 že číslo je pozitivní. 5 00:00:07,590 --> 00:00:16,760 Dobře, pojďme to napsat, patří cs50.h, zahrnují standardní io tečka h, int 6 00:00:16,760 --> 00:00:18,010 Hlavním [void]. 7 00:00:18,010 --> 00:00:20,000 8 00:00:20,000 --> 00:00:23,200 Nyní pojďme vlastně začít výzva uživatel pro tuto integer a zároveň mít na 9 00:00:23,200 --> 00:00:25,570 na tom, že chceme, aby reprompt je do té 10 00:00:25,570 --> 00:00:26,860 číslo je vlastně pozitivní. 11 00:00:26,860 --> 00:00:30,160 >> Takže budu chtít nějakou zacyklení postavit, ale smyčka, která se vykonává v 12 00:00:30,160 --> 00:00:31,200 nejméně jednou. 13 00:00:31,200 --> 00:00:34,810 A vzpomínám do-while umožňuje , abychom udělali přesně to. 14 00:00:34,810 --> 00:00:36,140 Pojďme kód to. 15 00:00:36,140 --> 00:00:39,210 >> Pojďme si nejprve deklarovat int - budeme nazývají n - do níž chcete uložit 16 00:00:39,210 --> 00:00:41,030 číslo uživatele. 17 00:00:41,030 --> 00:00:44,250 Pojďme se provést následující kroky. 18 00:00:44,250 --> 00:00:51,292 Printf, prosím, dej mi pozitivní int. 19 00:00:51,292 --> 00:00:54,470 Pojďme se dostat, že int pomocí na CS50 knihovny vezmi_int 20 00:00:54,470 --> 00:00:59,110 funkce, n dostane vezmi_int. 21 00:00:59,110 --> 00:01:02,610 A teď jsme udělali něco, ale budeme chtít, aby to 22 00:01:02,610 --> 00:01:04,580 když n je - 23 00:01:04,580 --> 00:01:05,480 co? - 24 00:01:05,480 --> 00:01:09,370 méně než 1, pokud se skutečně Chcete-kladné celé číslo. 25 00:01:09,370 --> 00:01:11,670 >> Pojďme do toho hned a vytisknout. 26 00:01:11,670 --> 00:01:17,590 Pokud je vše v pořádku, díky pro pozitivní int, 27 00:01:17,590 --> 00:01:19,360 středník, uložte soubor. 28 00:01:19,360 --> 00:01:21,480 Pojďme se nyní zkompilovat a spustit. 29 00:01:21,480 --> 00:01:25,550 >> Udělat pozitivní tečka lomítko pozitivní. 30 00:01:25,550 --> 00:01:27,470 A teď jsem byl vyzván pro pozitivní int. 31 00:01:27,470 --> 00:01:29,630 Dovolte mi, abych spolupracovat s 1.. 32 00:01:29,630 --> 00:01:31,330 Díky za pozitivní int. 33 00:01:31,330 --> 00:01:33,650 >> Pojďme se nyní znovu tento program a ne spolupracovat. 34 00:01:33,650 --> 00:01:35,260 Prosím, dejte mi pozitivní int. 35 00:01:35,260 --> 00:01:37,300 Jak se o negativní 1? 36 00:01:37,300 --> 00:01:37,910 Zajímavé. 37 00:01:37,910 --> 00:01:40,460 Program je již reprompted mi pro int. 38 00:01:40,460 --> 00:01:43,170 >> Buďme trochu více obtížné s 0. 39 00:01:43,170 --> 00:01:46,310 Stále není kladný int, tak se pojďme spolupracovat a tentokrát 40 00:01:46,310 --> 00:01:48,280 poskytují, opět, 1.. 41 00:01:48,280 --> 00:01:49,990 Díky za pozitivní int. 42 00:01:49,990 --> 00:01:54,300 >> Nyní je důležité si uvědomit, že já prohlásil můj proměnná n na lince 6, 43 00:01:54,300 --> 00:01:56,510 mimo do-while. 44 00:01:56,510 --> 00:02:01,030 Kdybych místo toho prohlásil n uvnitř mého do-while, konkrétně na, řekněme, 45 00:02:01,030 --> 00:02:06,230 řádek 10, kde jsem se také získat na int z uživatel, který int n by měl pouze 46 00:02:06,230 --> 00:02:09,904 existovaly v mezích složených rovnátka, které jsou v současné době na 47 00:02:09,904 --> 00:02:12,320 linka 8 a na lince 11. 48 00:02:12,320 --> 00:02:16,570 >> Jinými slovy, n by být vymezena na v této do-while. 49 00:02:16,570 --> 00:02:20,390 Ale problém je, že my také chcete použít n v souladu 12 50 00:02:20,390 --> 00:02:21,900 uvnitř stavu. 51 00:02:21,900 --> 00:02:26,120 Takže i když to nevypadá tak, docela, je to velmi úmyslné, že 52 00:02:26,120 --> 00:02:28,210 n je deklarována mimo tento do-while. 53 00:02:28,210 --> 00:02:29,838