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.