1 00:00:00,000 --> 00:00:00,330 2 00:00:00,330 --> 00:00:03,230 >> SPEAKER: Mari kita menerapkan program yang meminta pengguna untuk integer 3 00:00:03,230 --> 00:00:05,850 tetapi terus mendorong mereka untuk integer lain sampai 4 00:00:05,850 --> 00:00:07,590 integer yang positif. 5 00:00:07,590 --> 00:00:16,760 Nah, mari kita menulis ini, termasuk cs50.h, termasuk standar io dot h, int 6 00:00:16,760 --> 00:00:18,010 utama [batal]. 7 00:00:18,010 --> 00:00:20,000 8 00:00:20,000 --> 00:00:23,200 Sekarang mari kita benar-benar mulai untuk meminta pengguna untuk integer ini dengan tetap 9 00:00:23,200 --> 00:00:25,570 pikiran bahwa kita ingin reprompt mereka sampai yang 10 00:00:25,570 --> 00:00:26,860 jumlah sebenarnya positif. 11 00:00:26,860 --> 00:00:30,160 >> Jadi saya akan ingin beberapa jenis looping membangun, tetapi loop yang mengeksekusi di 12 00:00:30,160 --> 00:00:31,200 setidaknya sekali. 13 00:00:31,200 --> 00:00:34,810 Dan mengingat loop do-while memungkinkan kita untuk melakukan hal itu. 14 00:00:34,810 --> 00:00:36,140 Mari kita kode ini up. 15 00:00:36,140 --> 00:00:39,210 >> Mari kita pertama mendeklarasikan int - kita akan menyebutnya n - di mana untuk menyimpan 16 00:00:39,210 --> 00:00:41,030 pengguna integer. 17 00:00:41,030 --> 00:00:44,250 Mari sekarang kita lakukan berikut ini. 18 00:00:44,250 --> 00:00:51,292 Printf, tolong beri saya int positif. 19 00:00:51,292 --> 00:00:54,470 Sekarang mari kita mendapatkan bahwa int menggunakan getInt the CS50 perpustakaan 20 00:00:54,470 --> 00:00:59,110 fungsi, n mendapat getInt. 21 00:00:59,110 --> 00:01:02,610 Dan sekarang kita sudah selesai melakukan sesuatu, tapi kita akan ingin melakukan hal ini 22 00:01:02,610 --> 00:01:04,580 sedangkan n adalah - 23 00:01:04,580 --> 00:01:05,480 apa? - 24 00:01:05,480 --> 00:01:09,370 kurang dari 1, jika kita memang ingin bilangan bulat positif. 25 00:01:09,370 --> 00:01:11,670 >> Mari kita lanjutkan sekarang dan mencetak. 26 00:01:11,670 --> 00:01:17,590 Jika semuanya baik-baik, terima kasih untuk int positif, 27 00:01:17,590 --> 00:01:19,360 koma, simpan file tersebut. 28 00:01:19,360 --> 00:01:21,480 Sekarang mari kita mengkompilasi dan menjalankan. 29 00:01:21,480 --> 00:01:25,550 >> Membuat positif dot slash positif. 30 00:01:25,550 --> 00:01:27,470 Dan sekarang aku sedang diminta untuk int positif. 31 00:01:27,470 --> 00:01:29,630 Mari saya bekerja sama dengan 1. 32 00:01:29,630 --> 00:01:31,330 Terima kasih untuk int positif. 33 00:01:31,330 --> 00:01:33,650 >> Sekarang mari kita jalankan program ini dan tidak bekerja sama. 34 00:01:33,650 --> 00:01:35,260 Tolong beri saya int positif. 35 00:01:35,260 --> 00:01:37,300 Bagaimana negatif 1? 36 00:01:37,300 --> 00:01:37,910 Menarik. 37 00:01:37,910 --> 00:01:40,460 Program ini sudah reprompted saya untuk int. 38 00:01:40,460 --> 00:01:43,170 >> Mari kita menjadi sedikit lebih sulit dengan 0. 39 00:01:43,170 --> 00:01:46,310 Masih bukan int positif, jadi mari kita bekerja sama dan kali ini 40 00:01:46,310 --> 00:01:48,280 memberikan, sekali lagi, 1. 41 00:01:48,280 --> 00:01:49,990 Terima kasih untuk int positif. 42 00:01:49,990 --> 00:01:54,300 >> Sekarang penting untuk dicatat bahwa saya menyatakan saya n variabel on line 6, 43 00:01:54,300 --> 00:01:56,510 luar loop do-while. 44 00:01:56,510 --> 00:02:01,030 Apakah aku malah menyatakan n dalam saya do-while loop, khususnya pada, katakanlah, 45 00:02:01,030 --> 00:02:06,230 baris 10, di mana saya juga mendapatkan int dari pengguna, yang int n akan hanya 46 00:02:06,230 --> 00:02:09,904 ada dalam batas-batas yang keriting kawat gigi yang saat ini pada 47 00:02:09,904 --> 00:02:12,320 baris 8 dan on line 11. 48 00:02:12,320 --> 00:02:16,570 >> Dengan kata lain, n akan scoped untuk bagian dalam yang do-while loop. 49 00:02:16,570 --> 00:02:20,390 Tapi masalahnya adalah bahwa kita juga ingin menggunakan n sejalan 12 50 00:02:20,390 --> 00:02:21,900 dalam kondisi tersebut. 51 00:02:21,900 --> 00:02:26,120 Jadi meskipun tidak terlihat begitu cantik, itu sangat disengaja yang 52 00:02:26,120 --> 00:02:28,210 n dinyatakan di luar ini lingkaran do-while. 53 00:02:28,210 --> 00:02:29,838