COLUMNA: Imos aplicar un programa que solicita ao usuario un número enteiro pero segue levando-os por outro enteiro ata que é enteiro positivo. Ben, imos escribir isto, inclúa cs50.h, inclúen estándar io punto h, int principal [baleiro]. Agora imos realmente comezar a levar o usuario para este número enteiro, mantendo en importa que queremos Reprompt los ata que número é realmente positivo. Entón, eu vou querer algún tipo de looping construír, pero un circuíto que executa a polo menos unha vez. E lembrar o lazo do-while permite nos a facer exactamente isto. Imos codificar iso. Imos primeiro declarar un int - imos chamalo n - na que desexa gardar o enteiro do usuario. Imos agora facer o seguinte. Printf, por favor me dea un int positivo. Imos agora comezar este int usando GetInt da biblioteca CS50 función, n queda GetInt. E agora que terminamos facendo algo, pero imos querer facelo mentres n é - o que? - menor que 1, de feito Quere un enteiro positivo. Imos adiante agora e imprimir. Se todo está ben, grazas ao int positivo, punto e coma, salva o arquivo. Imos agora compilar e executar. Facer barra punto positivo positivo. E agora estou eu a ser solicitado para un int positivo. Déixeme cooperar con 1. Grazas pola int positivo. Imos agora realizar novamente este programa e non cooperar. Por favor, me dea un int positivo. Como cerca dun negativo? Interesante. O programa xa está reprompted me para un int. Imos ser un pouco máis difícil con 0. Aínda sen int positivo, así que imos cooperar e esta vez proporcionar, outra vez, unha. Grazas pola int positivo. Agora é importante ter en conta que declarei o meu n variable na liña 6, fóra do loop do-while. Se eu en vez declarada n dentro da miña do-while loop, especialmente sobre, digamos, liña 10, onde eu tamén obter o int de o usuario, que int n tería só existía dentro dos límites do crespo claves que están actualmente no a liña 8 e na liña 11. Noutras palabras, non sería ámbito dentro dese lazo do-while. Pero o problema é que nós tamén quere usar n na liña 12 dentro da condición. Así, aínda que non parece tan moito, é moi deliberada que n é declarado fóra este lazo do-while.