>> SPEAKER: Lad os gennemføre et program, der beder brugeren om et heltal
men fortsætter tilskynder dem for et andet heltal indtil
at heltal er positiv.
Nå, lad os skrive dette, omfatter cs50.h, omfatte standard io dot h, int
main [tomrum].
Lad os nu rent faktisk begynder at bede bruger af denne heltal samtidig holde på
imod, at vi ønsker at reprompt dem, indtil der
Antallet er faktisk positive.
>> Så jeg vil have en form for looping konstruere, men en løkke, der henretter på
mindst én gang.
Og husker gør-while-løkke giver os til at gøre netop dette.
Lad os kode det op.
>> Lad os først erklære en int - vi vil kalder det n - til at gemme den
brugerens heltal.
Lad os nu gøre følgende.
Printf, bedes du give mig en positiv int.
Lad os nu få det int hjælp Den CS50 bibliotekets GetInt
funktion, n bliver GetInt.
Og nu er vi færdig med at gøre noget, men vi vil ønsker at gøre dette
mens n er -
hvad? -
mindre end 1, hvis vi virkelig ønsker et positivt heltal.
>> Lad os gå videre nu og printe ud.
Hvis alt er godt, tak for den positive int,
semikolon, gemme filen.
Lad os nu kompilere og køre.
>> Gør positiv prik skråstreg positiv.
Og nu er jeg ved at blive bedt om for en positiv int.
Lad mig samarbejder med 1.
Tak for den positive int.
>> Lad os nu kør dette program og ikke samarbejder.
Giv mig en positiv int.
Hvordan omkring negativ 1?
Interessant.
Programmet er allerede reprompted mig for en int.
>> Lad os være lidt mere vanskeligt med 0.
Stadig ikke en positiv int, så lad os samarbejde og denne gang
give igen, 1..
Tak for den positive int.
>> Nu er det vigtigt at bemærke, at jeg erklæret min variabel n på linje 6,
uden for gør-while-løkke.
Havde jeg i stedet erklærede n inde i mit gør-while-løkke, specielt om, sige,
linje 10, hvor jeg også får int fra brugeren, ville int n har kun
eksisterede inden for rammerne af de krøllede seler, der er i øjeblikket på
linje 8 og på linie 11.
>> Med andre ord vil n være virkefelt til indersiden af ​​det do-while-løkke.
Men problemet er, at vi også ønsker at bruge N i linje 12
indersiden af ​​tilstanden.
Så selvom det ikke ser så smuk, det er meget bevidst, at
n er erklæret udenfor dette gør-while-løkke.