1 00:00:00,000 --> 00:00:00,330 2 00:00:00,330 --> 00:00:03,230 >> SPEAKER: Chúng ta hãy thực hiện một chương trình nhắc nhở người dùng cho một số nguyên 3 00:00:03,230 --> 00:00:05,850 nhưng vẫn tiếp tục khiến họ cho một số nguyên cho đến khi 4 00:00:05,850 --> 00:00:07,590 số nguyên là tích cực. 5 00:00:07,590 --> 00:00:16,760 Vâng, chúng ta hãy viết này, bao gồm cs50.h, bao gồm tiêu chuẩn io dot h, int 6 00:00:16,760 --> 00:00:18,010 chính [trống]. 7 00:00:18,010 --> 00:00:20,000 8 00:00:20,000 --> 00:00:23,200 Bây giờ chúng ta thực sự bắt đầu để nhắc nhở người sử dụng cho số nguyên này trong khi vẫn giữ trong 9 00:00:23,200 --> 00:00:25,570 nhớ rằng chúng tôi muốn nhắc nhở lại chúng cho đến khi có 10 00:00:25,570 --> 00:00:26,860 số là thực sự tích cực. 11 00:00:26,860 --> 00:00:30,160 >> Vì vậy, tôi sẽ muốn một số loại vòng lặp xây dựng, nhưng một vòng lặp thực hiện tại 12 00:00:30,160 --> 00:00:31,200 ít nhất một lần. 13 00:00:31,200 --> 00:00:34,810 Và nhớ lại những vòng lặp do-trong khi cho phép chúng ta làm chính xác điều đó. 14 00:00:34,810 --> 00:00:36,140 Hãy mã này lên. 15 00:00:36,140 --> 00:00:39,210 >> Hãy đầu tiên khai báo một int - chúng tôi sẽ gọi nó là n - trong đó để lưu trữ các 16 00:00:39,210 --> 00:00:41,030 số nguyên của người dùng. 17 00:00:41,030 --> 00:00:44,250 Bây giờ chúng ta làm như sau. 18 00:00:44,250 --> 00:00:51,292 Printf, hãy cho tôi một int tích cực. 19 00:00:51,292 --> 00:00:54,470 Bây giờ chúng ta nhận được rằng int sử dụng getInt của thư viện CS50 20 00:00:54,470 --> 00:00:59,110 chức năng, n được getInt. 21 00:00:59,110 --> 00:01:02,610 Và bây giờ chúng tôi đang thực hiện làm một cái gì đó, nhưng chúng ta sẽ muốn làm điều này 22 00:01:02,610 --> 00:01:04,580 trong khi n là - 23 00:01:04,580 --> 00:01:05,480 những gì? - 24 00:01:05,480 --> 00:01:09,370 nhỏ hơn 1, nếu chúng ta thực sự muốn có một số nguyên dương. 25 00:01:09,370 --> 00:01:11,670 >> Chúng ta hãy đi trước bây giờ và in ra. 26 00:01:11,670 --> 00:01:17,590 Nếu tất cả là tốt, nhờ cho int tích cực, 27 00:01:17,590 --> 00:01:19,360 dấu chấm phẩy, lưu tập tin. 28 00:01:19,360 --> 00:01:21,480 Bây giờ chúng ta biên dịch và chạy. 29 00:01:21,480 --> 00:01:25,550 >> Hãy tích cực chấm dấu gạch chéo dương tính. 30 00:01:25,550 --> 00:01:27,470 Và bây giờ tôi bị nhắc nhở cho một int tích cực. 31 00:01:27,470 --> 00:01:29,630 Hãy để tôi hợp tác với 1. 32 00:01:29,630 --> 00:01:31,330 Cảm ơn cho int tích cực. 33 00:01:31,330 --> 00:01:33,650 >> Bây giờ hãy chạy lại chương trình này và không hợp tác. 34 00:01:33,650 --> 00:01:35,260 Hãy cho tôi một int tích cực. 35 00:01:35,260 --> 00:01:37,300 Làm thế nào về tiêu cực 1? 36 00:01:37,300 --> 00:01:37,910 Thú vị. 37 00:01:37,910 --> 00:01:40,460 Chương trình đã được reprompted tôi cho một int. 38 00:01:40,460 --> 00:01:43,170 >> Chúng ta hãy nhẹ hơn khó khăn với 0. 39 00:01:43,170 --> 00:01:46,310 Vẫn không phải là một int tích cực, vì vậy hãy hợp tác và thời gian này 40 00:01:46,310 --> 00:01:48,280 cung cấp, một lần nữa, 1. 41 00:01:48,280 --> 00:01:49,990 Cảm ơn cho int tích cực. 42 00:01:49,990 --> 00:01:54,300 >> Bây giờ điều quan trọng cần lưu ý rằng tôi tuyên bố n biến của tôi trên dòng 6, 43 00:01:54,300 --> 00:01:56,510 bên ngoài vòng lặp do-while. 44 00:01:56,510 --> 00:02:01,030 Nếu tôi thay vì tuyên bố n bên trong của tôi làm-trong khi vòng lặp, đặc biệt trên, nói, 45 00:02:01,030 --> 00:02:06,230 đường 10, nơi tôi cũng có được int từ người sử dụng, mà int n sẽ chỉ có 46 00:02:06,230 --> 00:02:09,904 tồn tại trong phạm vi của xoăn niềng răng hiện đang có trên 47 00:02:09,904 --> 00:02:12,320 dòng 8 và dòng 11. 48 00:02:12,320 --> 00:02:16,570 >> Nói cách khác, n sẽ được scoped để bên trong là vòng lặp do-while. 49 00:02:16,570 --> 00:02:20,390 Nhưng vấn đề là chúng tôi cũng muốn sử dụng n trong dòng 12 50 00:02:20,390 --> 00:02:21,900 bên trong của tình trạng này. 51 00:02:21,900 --> 00:02:26,120 Vì vậy, mặc dù nó không giống như vậy đẹp, đó là rất nhiều chủ ý 52 00:02:26,120 --> 00:02:28,210 n được khai báo bên ngoài này vòng lặp do-while. 53 00:02:28,210 --> 00:02:29,838