>> 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.