1 00:00:00,000 --> 00:00:00,330 2 00:00:00,330 --> 00:00:03,230 >> Ræðumaður: Við skulum koma á áætlun sem hvetja notandann til heiltala 3 00:00:03,230 --> 00:00:05,850 heldur áfram vekur þá fyrir annað heiltölu fram 4 00:00:05,850 --> 00:00:07,590 sem heiltala er jákvætt. 5 00:00:07,590 --> 00:00:16,760 Jæja, við skulum skrifa þetta, ma cs50.h, Hafa Standard IO punktur h, int 6 00:00:16,760 --> 00:00:18,010 Helstu [ógilt]. 7 00:00:18,010 --> 00:00:20,000 8 00:00:20,000 --> 00:00:23,200 Nú skulum byrja í raun að hvetja notandi fyrir þessa heiltölu á meðan gæsla í 9 00:00:23,200 --> 00:00:25,570 huga að við viljum reprompt þá þangað til að 10 00:00:25,570 --> 00:00:26,860 tala er í raun jákvæð. 11 00:00:26,860 --> 00:00:30,160 >> Svo ég vil einhvers konar lykkja reisa, en lykkja sem keyrir á 12 00:00:30,160 --> 00:00:31,200 kosti einu sinni. 13 00:00:31,200 --> 00:00:34,810 Og muna að gera-en lykkja leyfir okkur að gera einmitt það. 14 00:00:34,810 --> 00:00:36,140 Skulum kóðann þetta upp. 15 00:00:36,140 --> 00:00:39,210 >> Skulum fyrst lýsa int - við munum kalla það n - þar sem að geyma 16 00:00:39,210 --> 00:00:41,030 heiltala notanda. 17 00:00:41,030 --> 00:00:44,250 Gerum nú eftirfarandi. 18 00:00:44,250 --> 00:00:51,292 Printf, vinsamlegast gefa mér jákvæða int. 19 00:00:51,292 --> 00:00:54,470 Skulum nú fá að Int nota GetInt í CS50 safnsins 20 00:00:54,470 --> 00:00:59,110 virka, n fær GetInt. 21 00:00:59,110 --> 00:01:02,610 Og nú erum við búin að gera eitthvað, en við erum að fara til að vilja gera þetta 22 00:01:02,610 --> 00:01:04,580 á meðan n er - 23 00:01:04,580 --> 00:01:05,480 hvað? - 24 00:01:05,480 --> 00:01:09,370 minna en 1, ef við örugglega vilja jákvæða heiltölu. 25 00:01:09,370 --> 00:01:11,670 >> Skulum fara á undan núna og prenta út. 26 00:01:11,670 --> 00:01:17,590 Ef allt er vel, takk fyrir jákvæðar int, 27 00:01:17,590 --> 00:01:19,360 semíkommu, vista skrána. 28 00:01:19,360 --> 00:01:21,480 Skulum nú saman og hlaupa. 29 00:01:21,480 --> 00:01:25,550 >> Gera jákvætt punktur rista jákvæð. 30 00:01:25,550 --> 00:01:27,470 Og nú er ég að beðið fyrir jákvæða Int. 31 00:01:27,470 --> 00:01:29,630 Leyfðu mér að vinna með 1. 32 00:01:29,630 --> 00:01:31,330 Takk fyrir jákvæða int. 33 00:01:31,330 --> 00:01:33,650 >> Skulum nú endursýning þetta forrit og ekki vinna. 34 00:01:33,650 --> 00:01:35,260 Vinsamlegast gefa mér jákvæða int. 35 00:01:35,260 --> 00:01:37,300 Hvernig væri neikvæð 1? 36 00:01:37,300 --> 00:01:37,910 Áhugavert. 37 00:01:37,910 --> 00:01:40,460 The program er nú þegar reprompted mig fyrir int. 38 00:01:40,460 --> 00:01:43,170 >> Skulum vera örlítið meira erfitt með 0. 39 00:01:43,170 --> 00:01:46,310 Enn ekki jákvæð INT, þannig að við skulum vinna og að þessu sinni 40 00:01:46,310 --> 00:01:48,280 veita, aftur, 1. 41 00:01:48,280 --> 00:01:49,990 Takk fyrir jákvæða int. 42 00:01:49,990 --> 00:01:54,300 >> Nú er mikilvægt að hafa í huga að ég lýst breytilegri n mitt á línu 6, 43 00:01:54,300 --> 00:01:56,510 utan gera-while lykkju. 44 00:01:56,510 --> 00:02:01,030 Hefði ég lýst staðinn n inni af mínum gera-en lykkja, sérstaklega á, segja, 45 00:02:01,030 --> 00:02:06,230 lína 10, þar fæ ég líka int frá notandi, sem INT n hefði aðeins 46 00:02:06,230 --> 00:02:09,904 verið innan takmörk af the hrokkið axlabönd sem eru nú á 47 00:02:09,904 --> 00:02:12,320 lína 8 og á línu 11. 48 00:02:12,320 --> 00:02:16,570 >> Með öðrum orðum, n yrði scoped til inni af því gera-while lykkju. 49 00:02:16,570 --> 00:02:20,390 En vandamálið er að við einnig vilt nota n í línu 12 50 00:02:20,390 --> 00:02:21,900 inni á ástandi. 51 00:02:21,900 --> 00:02:26,120 Svo jafnvel þótt það lítur ekki svo falleg, það er mjög mikið meðvituð um að 52 00:02:26,120 --> 00:02:28,210 n er lýst utan þetta gera-en lykkja. 53 00:02:28,210 --> 00:02:29,838