>> Spreker: Kom ons implementeer 'n program wat vra die gebruiker om 'n heelgetal
maar gaan voort om te vra om hulle vir 'n ander heelgetal tot
dat heelgetal is positief.
Wel, laat ons hier skryf, sluit cs50.h, sluit in standaard io dot h, int
hoof [leemte].
Nou laat eintlik begin om te vra of die gebruiker vir hierdie heelgetal terwyl in
gedagte dat ons wil reprompt hulle tot op daardie
getal is eintlik positief.
>> So ek sal 'n soort van herhaling wil bou, maar 'n lus wat voer op
minste een keer.
En onthou die do-while lus kan ons te doen presies dit.
Kom ons kode Hierdie up.
>> Kom ons kyk eers verklaar 'n int - ons sal noem dit n - in te slaan die
gebruiker se integriteit.
Kom ons doen nou die volgende.
Printf, gee my asseblief 'n positiewe int.
Kom ons kry nou dat int gebruik die CS50 biblioteek se getint
funksie, n kry getint.
En nou is ons klaar is om iets te doen, maar ons gaan om te wil om dit te doen
terwyl N -
wat? -
minder as 1, as ons inderdaad wil 'n positiewe heelgetal.
>> Kom ons gaan voort en nou uit te druk.
As alles goed gaan, danksy vir die positiewe int,
kommapunt, stoor die lêer.
Kom ons nou saam te stel en uit te voer.
>> Maak positiewe dot streep positief.
En nou word ek gevra vir 'n positiewe int.
Laat my saam met 1.
Dankie vir die positiewe int.
>> Kom ons kyk nou tik hierdie program en nie saam te werk.
Gee asseblief vir my 'n positiewe int.
Hoe oor die negatiewe 1?
Interessant.
Die program is reeds reprompted my vir 'n int.
>> Kom ons 'n bietjie meer moeilik om met 0.
Nog nie 'n positiewe int, so laat saam te werk en hierdie tyd
verskaf, weer, 1.
Dankie vir die positiewe int.
>> Nou is dit belangrik om daarop te let dat ek verklaar my veranderlike n on line 6,
buite die do-while lus.
As ek in plaas verklaar n binnekant van my do-while lus, spesifiek op, sê,
lyn 10, waar ek kry ook die int uit die gebruiker, sal dit int n net
bestaan ​​binne die grense van die krullerige draadjies wat tans op
reël 8 en op die lyn 11.
>> Met ander woorde, sou n scoped word die binnekant van die do-while lus.
Maar die probleem is dat ons ook wil n in lyn 12 te gebruik
binnekant van die toestand.
So selfs al is dit nie so lyk mooi, dit is baie doelbewuste wat
n buite verklaar hierdie do-while lus.