>> Ettekandja: Teeme rakendama programmi, mis küsib kasutajalt täisarv
kuid jätkab sunnib neid teise täisarvu kuni
et täisarv on positiivne.
Noh, kirjutan seda, sisaldavad cs50.h, sisaldavad standard io dot h, int
Peamised [kehtetu].
Nüüd tegelikult hakkavad küsima kasutaja selle täisarv, pidades samas
pahanda, et me tahame reprompt neid kuni selle
number on tegelikult positiivne.
>> Nii et ma tahan mingi silmukoiminen ehitada, kuid loop, kus hukatakse kell
vähemalt üks kord.
Ja meenutada do-kui ahela võimaldab meil teha just nii.
Olgem koodi selle üles.
>> Vaatame kõigepealt deklareerima int - me kutsuda n - mille talletamiseks
kasutaja täisarv.
Olgem nüüd teha järgmist.
Printf, palun anna mulle positiivse int.
Lähme nüüd minema, et int kasutades CS50 raamatukogu GetInt
funktsioon, n saab GetInt.
Ja nüüd me oleme teinud midagi, kuid me tahame seda teha
kui n on -
mida? -
vähem kui 1, kui me tõepoolest tahad positiivne täisarv.
>> Lähme edasi nüüd ja välja printida.
Kui kõik on hästi, tänan positiivse int,
semikoolon, salvestage fail.
Olgem nüüd kompileerida ja käivitada.
>> Tee positiivset dot slash positiivne.
Ja nüüd Mind ajendas positiivse int.
Lubage mul teha koostööd 1.
Täname positiivse int.
>> Vaatame nüüd uuesti, see programm ja koostööd.
Palun andke mulle positiivse int.
Kuidas negatiivne 1?
Huvitav.
Programm on juba reprompted minu jaoks int.
>> Olgem pisut raske koos 0.
Ikka ei positiivne int, niiet koostööd ning seekord
pakkuda jällegi 1.
Täname positiivse int.
>> Nüüd on oluline märkida, et I deklareeritud minu muutuja n real 6,
väljaspool do-kui ahela.
Kui ma selle asemel kuulutatud n sees minu do-kui ahela, konkreetselt, ütleme,
line 10 kui ka mina saan int alates kasutaja, et int n oleks ainult
eksisteerinud piirides lokkis traksid, mis on praegu
line 8 ja real 11.
>> Teisisõnu, n oleks scoped kuni sees, et do-kui ahela.
Probleem on aga selles, et meil on ka soovite kasutada n in line 12
sees tingimus.
Nii et kuigi see ei ole nii ilus, see on väga tahtlik et
n on deklareeritud väljaspool see do-kui ahela.