>> Speak: Låt oss genomföra ett program som ber användaren om ett heltal
men fortsätter att fråga dem för ett annat heltal tills
som heltal är positivt.
Nåväl, låt oss skriva detta, inkluderar cs50.h, inkludera standard io dot h, int
huvud [tomrum].
Nu ska vi faktiskt börja att uppmana användare för detta heltal samtidigt in
tänka att vi vill Fråga igen dem tills det
numret är faktiskt positiv.
>> Så jag vill ha någon form av looping konstruera, men en loop som exekverar på
minst en gång.
Och minns gör-while-slinga gör oss att göra just det.
Låt oss koda upp detta.
>> Låt oss först förklara en int - vi kommer kallar det n - där du vill lagra den
användarens heltal.
Låt oss nu göra följande.
Printf, ge mig en positiv int.
Låt oss nu få det int använda den CS50 bibliotekets getInt
funktion, n blir getInt.
Och nu är vi klara att göra något, men vi kommer att vilja göra detta
medan n är -
vad? -
mindre än ett, om vi faktiskt vill ha ett positivt heltal.
>> Låt oss gå vidare nu och skriva ut.
Om allt är bra, tack för den positiva int,
semikolon, spara filen.
Låt oss nu kompilera och köra.
>> Gör positiv prick snedstreck positiv.
Och nu ska jag bli tillfrågad för en positiv int.
Jag samarbetar med 1.
Tack för den positiva int.
>> Låt oss nu köra det här programmet och inte samarbetar.
Kan du ge mig ett positivt int.
Vad sägs om negativ 1?
Intressant.
Programmet är redan reprompted mig för en int.
>> Låt oss vara lite mer svårt med 0.
Fortfarande inte en positiv int, så låt oss samarbeta och den här gången
tillhandahålla, återigen, en.
Tack för den positiva int.
>> Nu är det viktigt att notera att jag förklarade min variabeln n på rad 6,
utsidan av gör-while-slinga.
Hade jag istället förklarade n insidan av min do-while-slinga, speciellt på, säg,
linje 10, där jag får också int från användaren, skulle det int n har endast
fanns inom ramarna för lockigt hängslen som är närvarande på
linje 8 och på rad 11.
>> Med andra ord skulle n vara med omfattningen insidan av att do-while-slinga.
Men problemet är att vi också vill använda n i linje 12
insidan av tillståndet.
Så även om det inte ser så vacker, det är mycket medvetet om att
n förklaras utanför Detta gör-while-slinga.