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