>> SPEAKER: Mari kita menerapkan program yang meminta pengguna untuk integer
tetapi terus mendorong mereka untuk integer lain sampai
integer yang positif.
Nah, mari kita menulis ini, termasuk cs50.h, termasuk standar io dot h, int
utama [batal].
Sekarang mari kita benar-benar mulai untuk meminta pengguna untuk integer ini dengan tetap
pikiran bahwa kita ingin reprompt mereka sampai yang
jumlah sebenarnya positif.
>> Jadi saya akan ingin beberapa jenis looping membangun, tetapi loop yang mengeksekusi di
setidaknya sekali.
Dan mengingat loop do-while memungkinkan kita untuk melakukan hal itu.
Mari kita kode ini up.
>> Mari kita pertama mendeklarasikan int - kita akan menyebutnya n - di mana untuk menyimpan
pengguna integer.
Mari sekarang kita lakukan berikut ini.
Printf, tolong beri saya int positif.
Sekarang mari kita mendapatkan bahwa int menggunakan getInt the CS50 perpustakaan
fungsi, n mendapat getInt.
Dan sekarang kita sudah selesai melakukan sesuatu, tapi kita akan ingin melakukan hal ini
sedangkan n adalah -
apa? -
kurang dari 1, jika kita memang ingin bilangan bulat positif.
>> Mari kita lanjutkan sekarang dan mencetak.
Jika semuanya baik-baik, terima kasih untuk int positif,
koma, simpan file tersebut.
Sekarang mari kita mengkompilasi dan menjalankan.
>> Membuat positif dot slash positif.
Dan sekarang aku sedang diminta untuk int positif.
Mari saya bekerja sama dengan 1.
Terima kasih untuk int positif.
>> Sekarang mari kita jalankan program ini dan tidak bekerja sama.
Tolong beri saya int positif.
Bagaimana negatif 1?
Menarik.
Program ini sudah reprompted saya untuk int.
>> Mari kita menjadi sedikit lebih sulit dengan 0.
Masih bukan int positif, jadi mari kita bekerja sama dan kali ini
memberikan, sekali lagi, 1.
Terima kasih untuk int positif.
>> Sekarang penting untuk dicatat bahwa saya menyatakan saya n variabel on line 6,
luar loop do-while.
Apakah aku malah menyatakan n dalam saya do-while loop, khususnya pada, katakanlah,
baris 10, di mana saya juga mendapatkan int dari pengguna, yang int n akan hanya
ada dalam batas-batas yang keriting kawat gigi yang saat ini pada
baris 8 dan on line 11.
>> Dengan kata lain, n akan scoped untuk bagian dalam yang do-while loop.
Tapi masalahnya adalah bahwa kita juga ingin menggunakan n sejalan 12
dalam kondisi tersebut.
Jadi meskipun tidak terlihat begitu cantik, itu sangat disengaja yang
n dinyatakan di luar ini lingkaran do-while.