SPEAKER: Cerchiamo di attuare un programma che richiede all'utente un numero intero ma continua spingendoli per un altro intero fino che è intero positivo. Bene, scriviamo questo, includere cs50.h, includere norma io punto h, int principale [nulla]. Ora diamo effettivamente iniziare a richiedere utente per questo intero mantenendo in importa che vogliamo reprompt loro fino a che numero è in realtà positivo. Quindi io voglio un qualche tipo di looping costruire, ma un ciclo che viene eseguito a almeno una volta. E richiamare il ciclo do-while permette noi facciamo esattamente questo. Facciamo codice questo. Facciamo prima dichiarare un int - faremo chiamare n - in cui memorizzare il integer dell'utente. Passiamo ora eseguire le seguenti operazioni. Printf, per favore mi dia un int positivo. Vediamo ora ottenere che int utilizzando GetInt della biblioteca CS50 funzione, n ottiene GetInt. E ora abbiamo finito di fare qualcosa, ma stiamo andando a voler fare questo mentre n è - cosa? - meno di 1, se effettivamente vuole un intero positivo. Andiamo avanti ora e stampare. Se tutto va bene, grazie per l'int positivo, punto e virgola, salvare il file. Vediamo ora compilare ed eseguire. Rendere positivo dot barra positivo. E ora sto venga richiesto per un int positivo. Lasciatemi Collaboro con 1. Grazie per l'int positivo. Vediamo ora eseguire nuovamente questo programma e non cooperare. Per favore mi dia un int positivo. Che ne dici di negativo 1? Interessante. Il programma è già reprompted me per un int. Cerchiamo di essere un po 'più difficile con 0. Ancora non è un int positivo, quindi cerchiamo di cooperare e questa volta fornire, di nuovo, 1. Grazie per l'int positivo. Ora è importante notare che dichiarato la mia variabile n on line 6, all'esterno del ciclo do-while. Se avessi invece dichiarato n all'interno della mia do-while, in particolare, diciamo, linea 10, dove ho anche ottenere l'int da l'utente, che int n avrebbe solo esistito entro i confini del riccio bretelle che sono attualmente sul linea 8 e sulla linea 11. In altre parole, n verrebbe ambito di all'interno di tale ciclo do-while. Ma il problema è che anche noi desidera utilizzare n in linea 12 all'interno della condizione. Quindi, anche se non sembra così piuttosto, è molto consapevole, n è dichiarata fuori questo ciclo do-while.