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