1 00:00:00,000 --> 00:00:00,330 2 00:00:00,330 --> 00:00:03,230 >> SPEAKER: Idemo provesti program koji traži od korisnika za cijeli broj 3 00:00:03,230 --> 00:00:05,850 , ali i dalje ih je navelo za još jedan cijeli broj do 4 00:00:05,850 --> 00:00:07,590 da je cijeli pozitivna. 5 00:00:07,590 --> 00:00:16,760 Pa, neka je ovo pišemo, uključuju cs50.h, uključuju standardni io dot h, int 6 00:00:16,760 --> 00:00:18,010 Glavni [void]. 7 00:00:18,010 --> 00:00:20,000 8 00:00:20,000 --> 00:00:23,200 Sada ćemo zapravo početi potaknuti Korisnik ovog cijeli broj, a imajući u 9 00:00:23,200 --> 00:00:25,570 smetalo da želimo reprompt ih do tada 10 00:00:25,570 --> 00:00:26,860 broj je zapravo pozitivna. 11 00:00:26,860 --> 00:00:30,160 >> Tako ću žele neku vrstu petlje izgradnju, ali petlja koja izvršava na 12 00:00:30,160 --> 00:00:31,200 najmanje jednom. 13 00:00:31,200 --> 00:00:34,810 I sjećam do-while petlja omogućuje da učinimo upravo to. 14 00:00:34,810 --> 00:00:36,140 Idemo kodirati ovo gore. 15 00:00:36,140 --> 00:00:39,210 >> Neka prvi proglasiti int - mi ćemo nazvati n - u kojima za pohranu 16 00:00:39,210 --> 00:00:41,030 Korisnički cijeli broj. 17 00:00:41,030 --> 00:00:44,250 Idemo sada napraviti sljedeće. 18 00:00:44,250 --> 00:00:51,292 Printf, molim vas dajte mi pozitivan int. 19 00:00:51,292 --> 00:00:54,470 Idemo sada dobiti taj int pomoću u CS50 knjižnice GetInt 20 00:00:54,470 --> 00:00:59,110 funkcija, n dobiva GetInt. 21 00:00:59,110 --> 00:01:02,610 I sada smo učinili nešto rade, ali ćemo željeti to učiniti 22 00:01:02,610 --> 00:01:04,580 dok je n - 23 00:01:04,580 --> 00:01:05,480 što? - 24 00:01:05,480 --> 00:01:09,370 manje od 1, ako smo doista Želite pozitivan cijeli broj. 25 00:01:09,370 --> 00:01:11,670 >> Idemo naprijed sada i isprintati. 26 00:01:11,670 --> 00:01:17,590 Ako je sve u redu, hvala za pozitivne int 27 00:01:17,590 --> 00:01:19,360 zarez, spremite datoteku. 28 00:01:19,360 --> 00:01:21,480 Idemo sada sastaviti i pokrenuti. 29 00:01:21,480 --> 00:01:25,550 >> Napravite pozitivan dot slash pozitivno. 30 00:01:25,550 --> 00:01:27,470 I sad sam se zatraži za pozitivan int. 31 00:01:27,470 --> 00:01:29,630 Dopustite mi da surađuju s jednom. 32 00:01:29,630 --> 00:01:31,330 Hvala na pozitivnom int. 33 00:01:31,330 --> 00:01:33,650 >> Idemo sada ponovno održati ovaj program i ne surađuju. 34 00:01:33,650 --> 00:01:35,260 Molim te, daj mi pozitivan int. 35 00:01:35,260 --> 00:01:37,300 Kako o negativnom 1? 36 00:01:37,300 --> 00:01:37,910 Zanimljivo. 37 00:01:37,910 --> 00:01:40,460 Program je već reprompted ja za int. 38 00:01:40,460 --> 00:01:43,170 >> Budimo malo više teško s 0. 39 00:01:43,170 --> 00:01:46,310 Još uvijek nije pozitivno int, pa neka je surađivati ​​i ovaj put 40 00:01:46,310 --> 00:01:48,280 daju, opet, jedan. 41 00:01:48,280 --> 00:01:49,990 Hvala na pozitivnom int. 42 00:01:49,990 --> 00:01:54,300 >> Sada je važno imati na umu da ja proglasio moj varijabla n na liniji 6, 43 00:01:54,300 --> 00:01:56,510 izvan do-while petlje. 44 00:01:56,510 --> 00:02:01,030 Da sam umjesto proglasio n unutar mojih do-while petlje, posebno na, recimo, 45 00:02:01,030 --> 00:02:06,230 linije 10, gdje sam također dobiti int iz Korisnik, koji int n će imati samo 46 00:02:06,230 --> 00:02:09,904 postojala u granicama kovrčavom aparatić koji su trenutno na 47 00:02:09,904 --> 00:02:12,320 linija 8 i na liniji 11. 48 00:02:12,320 --> 00:02:16,570 >> Drugim riječima, n bi se scoped unutar toga do-while petlje. 49 00:02:16,570 --> 00:02:20,390 No, problem je u tome što smo i želite koristiti n na liniji 12 50 00:02:20,390 --> 00:02:21,900 unutar stanja. 51 00:02:21,900 --> 00:02:26,120 Pa čak i da to ne izgleda tako lijepo, to je jako puno namjerno da 52 00:02:26,120 --> 00:02:28,210 n je proglašen izvan to do-while petlja. 53 00:02:28,210 --> 00:02:29,838