>> SPEAKER: Să pună în aplicare un program care solicită utilizatorului un întreg
dar continuă determinându-le pentru un alt număr întreg până
ca întreg este pozitiv.
Ei bine, hai să scrie acest lucru, includ cs50.h, includ standardul IO punct h, int
principal [gol].
Acum, haideți să începem de fapt, pentru a solicita de utilizator pentru acest întreg păstrând în același timp în
contează că vrem să reprompt le până la care
număr este, de fapt pozitiv.
>> Deci, voi dori un fel de looping construi, dar o buclă care execută la
puțin o dată.
Și amintesc bucla do-în timp ce permite ne să facem exact acest lucru.
Să codul asta.
>> Să declare în primul rând un int - vom numesc n - în care pentru a stoca
întreg utilizatorului.
Hai acum facem următoarele.
Printf, te rog da-mi un int pozitiv.
Să te acum că int folosind getint bibliotecii CS50 lui
funcție, n devine getint.
Și acum am terminat de a face ceva, dar am de gând să doriți să faceți acest lucru
în timp ce n este -
ce? -
mai puțin de 1, dacă într-adevăr Vreau un întreg pozitiv.
>> Să mergem mai departe acum și imprima.
Dacă totul este bine, mulțumesc pentru int pozitiv,
punct și virgulă, salvați fișierul.
Hai acum compila și rula.
>> Face slash punct pozitiv pozitiv.
Și acum sunt în curs de determinat pentru o int pozitiv.
Permiteți-mi să coopereze cu 1.
Multumesc pentru int pozitiv.
>> Hai acum rulați din nou acest program de și nu cooperează.
Vă rog să-mi un int pozitiv.
Ce zici de negativ 1?
Interesant.
Programul este deja reprompted mă pentru un int.
>> Să fim puțin mai mult greu cu 0.
Încă nu o int pozitiv, asa ca hai sa coopera și de această dată
oferi, din nou, 1.
Multumesc pentru int pozitiv.
>> Acum este important să rețineți că eu a declarat n mea variabil pe linia 6,
în afara buclei do-timp.
Dacă aș fi declarat în loc n interiorul meu do-în timp ce bucla, în special în, să zicem,
linia 10, în cazul în care I a lua, de asemenea, int de la utilizator, care int n-ar avea decât
a existat în limitele cret bretele, care sunt în prezent pe
linia 8 și pe linia 11.
>> Cu alte cuvinte, n-ar fi luneta la interiorul buclei do-timp.
Dar problema este că noi, de asemenea, doriți să utilizați n în linia 12
interiorul condiției.
Deci, chiar dacă ea nu arata asa destul de, este foarte mult în mod deliberat că
n este declarat în afara această buclă do-timp.