GARSIAKALBIS: Leiskite įgyvendinti programą, kuri paragina sveikasis vartotoją bet toliau paskatino juos dar iki sveikojo skaičiaus kad sveikasis skaičius yra teigiamas. Na, galime rašyti tai apima cs50.h, įtraukti standartinę io taškas H, int Pagrindinis [tuščia]. Dabar galime iš tikrųjų pradeda greitai vartotojas už šį sveikojo skaičiaus, o turint omenyje, kad mes norime reprompt jiems iki tol, kol skaičius yra tikrai teigiamas. Taigi aš noriu kai ąselę natūra statyti, bet kilpa kad vykdo ne bent vieną kartą. Ir prisiminti, do-while cikle leidžia mums daryti būtent tai. Tegul kodas tai padaryti. Tegul pirmasis paskelbti int - mes jį vadiname n - kai saugoti vartotojo sveikasis skaičius. Tegul dabar padarom taip. Printf, prašome duoti man teigiamą int. Leiskite dabar gauti, kad int naudojant į CS50 bibliotekos GetInt funkcija, n gauna GetInt. Ir dabar mes padaryti kažką, bet mes ketiname norite tai padaryti o n - ką? - mažiau nei 1, jei mes iš tiesų noriu teigiamas sveikasis skaičius. Vykime į priekį dabar ir atsispausdinti. Jei viskas gerai, nes teigiamą, int, kabliataškis, išsaugokite failą. Leiskite dabar renka ir paleisti. Padaryti teigiamas taškų velniop teigiamas. Ir dabar aš neparagintas teigiamą int. Leiskite bendradarbiauti su 1. Ačiū už teigiamą tarpt. Leiskite dabar pakartotas šią programą ir nebendradarbiauja. Prašau duoti man teigiamą int. Kaip apie neigiamas 1? Įdomu. Programa jau reprompted man už int. Būkime šiek tiek daugiau sunku su 0. Dar ne teigiamas int, todėl galime bendradarbiauti ir šiuo metu vėl teikti,, 1. Ačiū už teigiamą tarpt. Dabar svarbu pažymėti, kad I paskelbė mano kintamasis n on line 6, ne do-while cikle. Jeigu aš vietoj paskelbė n viduje mano do-while cikle, konkrečiai, tarkim, 10 eilutė, kurioje aš taip pat gauti int nuo vartotojas, kad int n tereikėtų egzistavo neviršijant garbanotus ribų petnešos, kurios šiuo metu 8 linijos ir linijos 11. Kitaip tariant, n būtų scoped į to do-while cikle viduje. Bet problema yra ta, kad mes taip pat norite naudoti n atitinka 12 viduje sąlyga. Taigi, nors ji neatrodo taip gana, tai labai apgalvotas, kad n yra paskelbta ne tai do-while cikle.