1 00:00:00,000 --> 00:00:00,330 2 00:00:00,330 --> 00:00:03,230 >> СПІКЕР: Давайце рэалізуем праграму, якая запытвае ў карыстальніка цэлае 3 00:00:03,230 --> 00:00:05,850 але працягвае падахвочваючы іх для іншага цэлага да 4 00:00:05,850 --> 00:00:07,590 што з'яўляецца станоўчым. 5 00:00:07,590 --> 00:00:16,760 Ну, давайце напішам гэта, ўключаюць cs50.h, ўключаюць у сябе стандартныя ю кропка г, унутр 6 00:00:16,760 --> 00:00:18,010 Асноўная [несапраўдным]. 7 00:00:18,010 --> 00:00:20,000 8 00:00:20,000 --> 00:00:23,200 Зараз давайце на самай справе пачынаюць падкажуць карыстальніка для гэтага цэлае, захоўваючы пры гэтым у 9 00:00:23,200 --> 00:00:25,570 усё роўна, што мы хочам Запытаць паўторна не ім, пакуль што 10 00:00:25,570 --> 00:00:26,860 лік на самай справе станоўчым. 11 00:00:26,860 --> 00:00:30,160 >> Так што я буду хацець нейкую петлеобразования пабудаваць, але цыкл, які выконваецца ў 12 00:00:30,160 --> 00:00:31,200 хоць бы адзін раз. 13 00:00:31,200 --> 00:00:34,810 І ўспомніць зрабі той час як цыкл дазваляе нам зрабіць менавіта гэта. 14 00:00:34,810 --> 00:00:36,140 Давайце закадаваць гэта. 15 00:00:36,140 --> 00:00:39,210 >> Давайце спачатку аб'явіць Int - мы будзем называюць яго п - у якой будуць захоўвацца 16 00:00:39,210 --> 00:00:41,030 цэлае карыстальніка. 17 00:00:41,030 --> 00:00:44,250 Давайце цяпер зрабіць наступнае. 18 00:00:44,250 --> 00:00:51,292 Printf, калі ласка, дайце мне станоўчы Int. 19 00:00:51,292 --> 00:00:54,470 Давайце зараз атрымліваем, што унутр дапамогай GetInt бібліятэчны CS50 ў 20 00:00:54,470 --> 00:00:59,110 Функцыя, п атрымлівае GetInt. 21 00:00:59,110 --> 00:01:02,610 А зараз мы зрабілі нешта рабіць, але мы збіраемся хочаце гэта зрабіць 22 00:01:02,610 --> 00:01:04,580 а п - 23 00:01:04,580 --> 00:01:05,480 што? - 24 00:01:05,480 --> 00:01:09,370 менш за 1, калі мы на самай справе хачу станоўчае цэлае лік. 25 00:01:09,370 --> 00:01:11,670 >> Давайце пойдзем далей зараз і раздрукаваць. 26 00:01:11,670 --> 00:01:17,590 Калі ўсё добра, дзякуй для станоўчага Int, 27 00:01:17,590 --> 00:01:19,360 кропка з коскі, захавайце файл. 28 00:01:19,360 --> 00:01:21,480 Давайце зараз скампіляваць і запусціць. 29 00:01:21,480 --> 00:01:25,550 >> Зрабіць станоўчы кропка слэш станоўчым. 30 00:01:25,550 --> 00:01:27,470 І цяпер мне прапанавана для станоўчага Int. 31 00:01:27,470 --> 00:01:29,630 Дазвольце мне супрацоўнічаць з 1. 32 00:01:29,630 --> 00:01:31,330 Дзякуй за станоўчы між. 33 00:01:31,330 --> 00:01:33,650 >> Давайце зараз паўторна гэтую праграму а не супрацоўнічаць. 34 00:01:33,650 --> 00:01:35,260 Калі ласка, дайце мне станоўчы Int. 35 00:01:35,260 --> 00:01:37,300 Як аб негатыўным 1? 36 00:01:37,300 --> 00:01:37,910 Цікавы. 37 00:01:37,910 --> 00:01:40,460 Праграма ўжо reprompted мне для унутр. 38 00:01:40,460 --> 00:01:43,170 >> Давайце будзем трохі больш цяжка з 0. 39 00:01:43,170 --> 00:01:46,310 Тым не менш не з'яўляецца станоўчым Int, так што давайце супрацоўнічаць і на гэты раз 40 00:01:46,310 --> 00:01:48,280 забяспечыць, зноў жа, 1. 41 00:01:48,280 --> 00:01:49,990 Дзякуй за станоўчы між. 42 00:01:49,990 --> 00:01:54,300 >> Цяпер важна адзначыць, што я заявіў мой зменнай п ў радку 6, 43 00:01:54,300 --> 00:01:56,510 за межамі зрабі час цыклу. 44 00:01:56,510 --> 00:02:01,030 Калі б я замест заявіў п ўнутры майго зрабі той час як цыкл, у прыватнасці, скажам, 45 00:02:01,030 --> 00:02:06,230 радок 10, дзе я таксама атрымліваю Int ад карыстальнік, які Int N будзе мець толькі 46 00:02:06,230 --> 00:02:09,904 існавалі ў межах фігурных дужкі, якія ў цяперашні час на 47 00:02:09,904 --> 00:02:12,320 лінія 8 і ў радку 11. 48 00:02:12,320 --> 00:02:16,570 >> Іншымі словамі, п будзе ў вобласці бачнасці ўнутры гэтага рабіць-час цыклу. 49 00:02:16,570 --> 00:02:20,390 Але праблема ў тым, што мы таксама хочаце выкарыстоўваць п у радку 12 50 00:02:20,390 --> 00:02:21,900 Унутраная частка стане. 51 00:02:21,900 --> 00:02:26,120 Таму, нават калі гэта не выглядае так прыгожая, гэта вельмі шмат наўмыснае што 52 00:02:26,120 --> 00:02:28,210 н абвешчаны па-за гэта выконвайце-той час як цыкл. 53 00:02:28,210 --> 00:02:29,838