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, მოიცავს სტანდარტული io dot h, int 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 >> ასე რომ მე მინდა რაიმე სახის looping მშენებლობა, მაგრამ loop, რომელიც ახორციელებს at 12 00:00:30,160 --> 00:00:31,200 მაინც. 13 00:00:31,200 --> 00:00:34,810 და გავიხსენოთ do-ხოლო loop საშუალებას გვაძლევს გავაკეთოთ ზუსტად რომ. 14 00:00:34,810 --> 00:00:36,140 მოდით კოდექსის ამ მდე. 15 00:00:36,140 --> 00:00:39,210 >> მოდით პირველ განაცხადოს int - ჩვენ ეძახით n - რომელიც შესანახად 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 მოდით ახლა მიიღოს, რომ int გამოყენებით CS50 ბიბლიოთეკის GetInt 20 00:00:54,470 --> 00:00:59,110 ფუნქცია, n იღებს GetInt. 21 00:00:59,110 --> 00:01:02,610 და ახლა ჩვენ გავაკეთეთ აკეთებს რაღაც, მაგრამ ჩვენ ვაპირებთ, რომ გსურთ ამ 22 00:01:02,610 --> 00:01:04,580 ხოლო n არის - 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 >> დადებითი dot slash დადებითი. 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 მადლობა დადებითი int. 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 ჩემთვის int. 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 მადლობა დადებითი int. 42 00:01:49,990 --> 00:01:54,300 >> ახლა კი მნიშვნელოვანია აღინიშნოს, რომ I განაცხადა ჩემს ცვლადი N on line 6, 43 00:01:54,300 --> 00:01:56,510 გარეთ do-ხოლო loop. 44 00:01:56,510 --> 00:02:01,030 რომ მე ნაცვლად დეკლარირებული n შიგნით ჩემი do-ხოლო loop, კონკრეტულად, ვთქვათ, 45 00:02:01,030 --> 00:02:06,230 line 10, სადაც მე ასევე მიიღებთ int საწყისი შესახებ, რომ int n ექნება მხოლოდ 46 00:02:06,230 --> 00:02:09,904 არსებობდა საზღვრებში საქართველოს curly აფრთხილებს, რომ ამჟამად 47 00:02:09,904 --> 00:02:12,320 ონლაინ 8 on line 11. 48 00:02:12,320 --> 00:02:16,570 >> სხვა სიტყვებით რომ ვთქვათ, n იქნება scoped to შიგნით რომ do-ხოლო loop. 49 00:02:16,570 --> 00:02:20,390 მაგრამ პრობლემა ის არის, რომ ჩვენ ასევე გსურთ გამოიყენოთ n ხაზი 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 n ცხადდება გარეთ ამ do-ხოლო loop. 53 00:02:28,210 --> 00:02:29,838