1 00:00:00,000 --> 00:00:00,330 2 00:00:00,330 --> 00:00:03,230 >> GŁOŚNIK: Chcę wdrożyć program, który pyta użytkownika o liczbę całkowitą 3 00:00:03,230 --> 00:00:05,850 ale nadal je monitowania dla innej liczby całkowitej, aż 4 00:00:05,850 --> 00:00:07,590 że liczba całkowita jest dodatnia. 5 00:00:07,590 --> 00:00:16,760 No cóż, piszę, m.in. cs50.h, zawierają standardowe io dot h, int 6 00:00:16,760 --> 00:00:18,010 Głównym [nieważne]. 7 00:00:18,010 --> 00:00:20,000 8 00:00:20,000 --> 00:00:23,200 Teraz rzeczywiście zaczynają skłaniać Użytkownik w tym całkowitą utrzymując w 9 00:00:23,200 --> 00:00:25,570 przeszkadza, że ​​chcemy reprompt je do czasu, że 10 00:00:25,570 --> 00:00:26,860 liczba jest rzeczywiście pozytywny. 11 00:00:26,860 --> 00:00:30,160 >> Więc ja chcę jakieś pętli budowy, ale w pętli, która wykonuje 12 00:00:30,160 --> 00:00:31,200 co najmniej jeden raz. 13 00:00:31,200 --> 00:00:34,810 I przypomnieć pętli do-while pozwala nam zrobić dokładnie to. 14 00:00:34,810 --> 00:00:36,140 Miejmy kodować to. 15 00:00:36,140 --> 00:00:39,210 >> Niech najpierw zadeklarować int - będziemy Nazywamy to n - w którym do przechowywania 16 00:00:39,210 --> 00:00:41,030 całkowitą użytkownika. 17 00:00:41,030 --> 00:00:44,250 Załóżmy teraz wykonać następujące czynności. 18 00:00:44,250 --> 00:00:51,292 Printf, proszę mi dać pozytywny int. 19 00:00:51,292 --> 00:00:54,470 Załóżmy teraz, że otrzymasz za pomocą int GetInt w Bibliotece CS50 20 00:00:54,470 --> 00:00:59,110 Funkcja, n pobiera GetInt. 21 00:00:59,110 --> 00:01:02,610 A teraz skończyliśmy robić coś, ale będziemy chcieli to zrobić 22 00:01:02,610 --> 00:01:04,580 gdy n jest - 23 00:01:04,580 --> 00:01:05,480 co? - 24 00:01:05,480 --> 00:01:09,370 mniej niż 1, jeśli rzeczywiście chcą dodatnia. 25 00:01:09,370 --> 00:01:11,670 >> Idziemy naprzód teraz i wydrukować. 26 00:01:11,670 --> 00:01:17,590 Jeśli wszystko jest dobrze, dzięki do pozytywnego int, 27 00:01:17,590 --> 00:01:19,360 średnik, zapisz plik. 28 00:01:19,360 --> 00:01:21,480 Załóżmy teraz skompilować i uruchomić. 29 00:01:21,480 --> 00:01:25,550 >> Dodać pozytywne kropka ukośnik pozytywne. 30 00:01:25,550 --> 00:01:27,470 I teraz mam potwierdzeniu dla pozytywnej int. 31 00:01:27,470 --> 00:01:29,630 Pozwól mi współpracować z 1. 32 00:01:29,630 --> 00:01:31,330 Dzięki za pozytywny int. 33 00:01:31,330 --> 00:01:33,650 >> Załóżmy teraz ponownie uruchomić ten program i nie współpracują. 34 00:01:33,650 --> 00:01:35,260 Proszę mi dać pozytywny int. 35 00:01:35,260 --> 00:01:37,300 Jak o ujemnym 1? 36 00:01:37,300 --> 00:01:37,910 Ciekawe. 37 00:01:37,910 --> 00:01:40,460 Program jest już reprompted ja na int. 38 00:01:40,460 --> 00:01:43,170 >> Bądźmy nieco bardziej trudne z 0. 39 00:01:43,170 --> 00:01:46,310 Nadal nie pozytywne int, więc niech współpracy i tym razem 40 00:01:46,310 --> 00:01:48,280 dostarczenie znowu 1. 41 00:01:48,280 --> 00:01:49,990 Dzięki za pozytywny int. 42 00:01:49,990 --> 00:01:54,300 >> Teraz ważne jest, aby pamiętać, że oświadczył moja zmienna n na linii 6, 43 00:01:54,300 --> 00:01:56,510 poza pętli do-while. 44 00:01:56,510 --> 00:02:01,030 Gdybym zamiast oświadczył n wewnątrz mojego do-while, w szczególności na, powiedzmy, 45 00:02:01,030 --> 00:02:06,230 linia 10, gdzie również uzyskać z int Użytkownik, który int n miałyby jedynie 46 00:02:06,230 --> 00:02:09,904 istnieje w granicach z kręconymi szelki, które są obecnie na 47 00:02:09,904 --> 00:02:12,320 linia 8, a na linii 11. 48 00:02:12,320 --> 00:02:16,570 >> Innymi słowy, n będzie objęty zakresem wewnątrz tej pętli do-while. 49 00:02:16,570 --> 00:02:20,390 Ale problemem jest to, że również użyć n w linii 12 50 00:02:20,390 --> 00:02:21,900 wewnątrz tego stanu. 51 00:02:21,900 --> 00:02:26,120 Tak więc mimo, że nie wygląda tak dość, że to bardzo celowe, że 52 00:02:26,120 --> 00:02:28,210 n jest zadeklarowana poza pętla do-while. 53 00:02:28,210 --> 00:02:29,838