1 00:00:00,000 --> 00:00:00,330 2 00:00:00,330 --> 00:00:03,230 >> SPEAKER: Poďme realizovať program, ktorý vyzve užívateľa k celé číslo 3 00:00:03,230 --> 00:00:05,850 ale stále je výzvou ďalšie celé číslo až do 4 00:00:05,850 --> 00:00:07,590 že číslo je pozitívny. 5 00:00:07,590 --> 00:00:16,760 Dobre, poďme to napísať, patrí cs50.h, zahŕňajú štandardný io bodka 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 Teraz poďme vlastne začať výzva užívateľ pre túto integer a zároveň mať na 9 00:00:23,200 --> 00:00:25,570 na tom, že chceme, aby reprompt je do tej 10 00:00:25,570 --> 00:00:26,860 číslo je vlastne pozitívne. 11 00:00:26,860 --> 00:00:30,160 >> Takže budem chcieť nejakú zacykleniu postaviť, ale slučka, ktorá sa vykonáva v 12 00:00:30,160 --> 00:00:31,200 najmenej raz. 13 00:00:31,200 --> 00:00:34,810 A spomínam do-while umožňuje , Aby sme urobili presne to. 14 00:00:34,810 --> 00:00:36,140 Poďme kód to. 15 00:00:36,140 --> 00:00:39,210 >> Poďme si najprv deklarovať int - budeme nazývajú n - do ktorej chcete uložiť 16 00:00:39,210 --> 00:00:41,030 číslo užívateľa. 17 00:00:41,030 --> 00:00:44,250 Poďme sa vykonať nasledujúce kroky. 18 00:00:44,250 --> 00:00:51,292 Printf, prosím, daj mi pozitívne int. 19 00:00:51,292 --> 00:00:54,470 Poďme sa dostať, že int pomocou na CS50 knižnice vezmi_int 20 00:00:54,470 --> 00:00:59,110 funkcie, n dostane vezmi_int. 21 00:00:59,110 --> 00:01:02,610 A teraz sme urobili niečo, ale budeme chcieť, aby to 22 00:01:02,610 --> 00:01:04,580 vtedy, keď n je - 23 00:01:04,580 --> 00:01:05,480 čo? - 24 00:01:05,480 --> 00:01:09,370 menej ako 1, ak sa skutočne Ak kladné celé číslo. 25 00:01:09,370 --> 00:01:11,670 >> Poďme do toho hneď a vytlačiť. 26 00:01:11,670 --> 00:01:17,590 Ak je všetko v poriadku, vďaka pre pozitívny int, 27 00:01:17,590 --> 00:01:19,360 bodkočiarka, uložte súbor. 28 00:01:19,360 --> 00:01:21,480 Poďme sa teraz skompilovať a spustiť. 29 00:01:21,480 --> 00:01:25,550 >> Urobiť pozitívny bodka lomítko pozitívny. 30 00:01:25,550 --> 00:01:27,470 A teraz som bol vyzvaný pre pozitívny int. 31 00:01:27,470 --> 00:01:29,630 Dovoľte mi, aby som spolupracovať s 1.. 32 00:01:29,630 --> 00:01:31,330 Vďaka za pozitívny int. 33 00:01:31,330 --> 00:01:33,650 >> Poďme sa teraz znovu tento program a nie spolupracovať. 34 00:01:33,650 --> 00:01:35,260 Prosím, dajte mi pozitívne int. 35 00:01:35,260 --> 00:01:37,300 Ako sa o negatívny 1? 36 00:01:37,300 --> 00:01:37,910 Zaujímavé. 37 00:01:37,910 --> 00:01:40,460 Program je už reprompted mi pre int. 38 00:01:40,460 --> 00:01:43,170 >> Buďme trochu viac ťažké s 0. 39 00:01:43,170 --> 00:01:46,310 Stále nie je kladný int, tak sa poďme spolupracovať a tentoraz 40 00:01:46,310 --> 00:01:48,280 poskytujú, opäť, 1.. 41 00:01:48,280 --> 00:01:49,990 Vďaka za pozitívny int. 42 00:01:49,990 --> 00:01:54,300 >> Teraz je dôležité si uvedomiť, že ja vyhlásil môj premenná n na linke 6, 43 00:01:54,300 --> 00:01:56,510 mimo do-while. 44 00:01:56,510 --> 00:02:01,030 Keby som namiesto toho vyhlásil n vnútri môjho do-while, konkrétne na, povedzme, 45 00:02:01,030 --> 00:02:06,230 riadok 10, kde som sa tiež získať na int z užívateľ, ktorý int n by mal iba 46 00:02:06,230 --> 00:02:09,904 existovali v medziach zložených rovnátka, ktoré sú v súčasnej dobe na 47 00:02:09,904 --> 00:02:12,320 linka 8 a na linke 11. 48 00:02:12,320 --> 00:02:16,570 >> Inými slovami, n by byť vymedzená na v tejto do-while. 49 00:02:16,570 --> 00:02:20,390 Ale problém je, že my tiež chcete použiť n v súlade 12 50 00:02:20,390 --> 00:02:21,900 vnútri stavu. 51 00:02:21,900 --> 00:02:26,120 Takže aj keď to nevyzerá tak, celkom, je to veľmi úmyselné, že 52 00:02:26,120 --> 00:02:28,210 n je deklarovaná mimo tento do-while. 53 00:02:28,210 --> 00:02:29,838