1 00:00:00,000 --> 00:00:00,330 2 00:00:00,330 --> 00:00:03,230 >> SPEAKER: Да се ​​приложи програма, която подсказва на потребителя за цяло число 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, включва стандартната IO точка ч, вътр 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 не забравяйте, че ние искаме да reprompt тях, докато това 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 И припомни контур Do-а позволява от нас да направим точно това. 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 ФОРМАТ, моля да ми даде положителен вътр. 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 Ако всичко е наред, благодаря за положителния ПНА, 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 Нека да си сътрудничат с един. 32 00:01:29,630 --> 00:01:31,330 Благодаря за положителното Int. 33 00:01:31,330 --> 00:01:33,650 >> Нека сега повторение на тази програма и не си сътрудничат. 34 00:01:33,650 --> 00:01:35,260 Моля, дайте ми един положителен вътр. 35 00:01:35,260 --> 00:01:37,300 Какво ще кажете за един отрицателен? 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 Все още не е положителен ПНА, така че нека сътрудничат и този път 40 00:01:46,310 --> 00:01:48,280 предоставя, отново, 1. 41 00:01:48,280 --> 00:01:49,990 Благодаря за положителното Int. 42 00:01:49,990 --> 00:01:54,300 >> Сега е важно да се отбележи, че декларирана променлива ми н на линия 6, 43 00:01:54,300 --> 00:01:56,510 извън контура на Do-а. 44 00:01:56,510 --> 00:02:01,030 Ако бях вместо обявена н вътре на моята направи линия, докато, по-конкретно на, да речем, 45 00:02:01,030 --> 00:02:06,230 ред 10, където също така да получите INT от потребителя, че Int п ще имат само 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