1 00:00:00,000 --> 00:00:00,330 2 00:00:00,330 --> 00:00:03,230 >> SPEAKER: Nézzük végre a programot, hogy kéri a felhasználót, az egész 3 00:00:03,230 --> 00:00:05,850 de továbbra is arra kéri őket, másik egész addig, amíg 4 00:00:05,850 --> 00:00:07,590 hogy egész pozitív. 5 00:00:07,590 --> 00:00:16,760 Hát, írni ezt, többek között cs50.h, tartalmazzák a standard io pont h, int 6 00:00:16,760 --> 00:00:18,010 fő [üres]. 7 00:00:18,010 --> 00:00:20,000 8 00:00:20,000 --> 00:00:23,200 Most tényleg kezd, hogy jelezzen a felhasználó ezt az egész, miközben a 9 00:00:23,200 --> 00:00:25,570 bánja, hogy szeretnénk reprompt őket, addig 10 00:00:25,570 --> 00:00:26,860 szám valójában pozitív. 11 00:00:26,860 --> 00:00:30,160 >> Szóval akkor szeretnénk valamilyen hurok építeni, hanem egy ciklusra, ami a 12 00:00:30,160 --> 00:00:31,200 legalább egyszer. 13 00:00:31,200 --> 00:00:34,810 És emlékszem a do-while ciklus segítségével bennünket, hogy pontosan erre. 14 00:00:34,810 --> 00:00:36,140 Nézzük kódot ezt fel. 15 00:00:36,140 --> 00:00:39,210 >> Nézzük először állapítsa meg egy int - Majd nevezni n -, amelyben tárolni a 16 00:00:39,210 --> 00:00:41,030 felhasználó egész. 17 00:00:41,030 --> 00:00:44,250 Nézzük most tegye a következőket. 18 00:00:44,250 --> 00:00:51,292 Printf, kérlek adj egy pozitív int. 19 00:00:51,292 --> 00:00:54,470 Nézzük most kap, hogy int a A CS50 könyvtár getInt 20 00:00:54,470 --> 00:00:59,110 funkció, n lesz getInt. 21 00:00:59,110 --> 00:01:02,610 És most kész csinál valamit, de mi szeretne majd ezt 22 00:01:02,610 --> 00:01:04,580 míg n - 23 00:01:04,580 --> 00:01:05,480 mi? - 24 00:01:05,480 --> 00:01:09,370 kevesebb, mint 1, ha valóban szeretnék egy pozitív egész szám. 25 00:01:09,370 --> 00:01:11,670 >> Menjünk előre, most és nyomtassa ki. 26 00:01:11,670 --> 00:01:17,590 Ha minden rendben van, köszönöm a pozitív int, 27 00:01:17,590 --> 00:01:19,360 pontosvessző, mentse a fájlt. 28 00:01:19,360 --> 00:01:21,480 Nézzük most fordításához és futtatásához. 29 00:01:21,480 --> 00:01:25,550 >> Legyen pozitív dot perjel pozitív. 30 00:01:25,550 --> 00:01:27,470 És most, hogy kéri pozitív int. 31 00:01:27,470 --> 00:01:29,630 Hadd együtt 1. 32 00:01:29,630 --> 00:01:31,330 Köszönöm a pozitív int. 33 00:01:31,330 --> 00:01:33,650 >> Nézzük most futtassa újra a program és nem működnek együtt. 34 00:01:33,650 --> 00:01:35,260 Kérek egy pozitív int. 35 00:01:35,260 --> 00:01:37,300 Mi a helyzet a negatív 1? 36 00:01:37,300 --> 00:01:37,910 Érdekes. 37 00:01:37,910 --> 00:01:40,460 A program már reprompted nekem egy int. 38 00:01:40,460 --> 00:01:43,170 >> Legyünk kicsit Nehéz 0. 39 00:01:43,170 --> 00:01:46,310 Még mindig nem a pozitív int, úgyhogy együtt, és ez idő 40 00:01:46,310 --> 00:01:48,280 biztosítják, ismét 1. 41 00:01:48,280 --> 00:01:49,990 Köszönöm a pozitív int. 42 00:01:49,990 --> 00:01:54,300 >> Most fontos megjegyezni, hogy én kijelentette, a változó n on-line 6. 43 00:01:54,300 --> 00:01:56,510 kívül a do-while ciklus. 44 00:01:56,510 --> 00:02:01,030 Vajon én ehelyett kijelentette n belül az én do-while ciklus, kifejezetten az, mondjuk, 45 00:02:01,030 --> 00:02:06,230 a 10. sort, ahol is kap a int a a felhasználó számára, hogy az int n is csak 46 00:02:06,230 --> 00:02:09,904 létezett keretein belül a göndör zárójelek, amelyek jelenleg 47 00:02:09,904 --> 00:02:12,320 8. sor és line 11. 48 00:02:12,320 --> 00:02:16,570 >> Más szóval, az n lenne, hogy hatókörbe belülről, hogy a do-while ciklus. 49 00:02:16,570 --> 00:02:20,390 De a probléma az, hogy mi is használni kívánt n a sorban a 12. 50 00:02:20,390 --> 00:02:21,900 belsejében a feltétel. 51 00:02:21,900 --> 00:02:26,120 Így annak ellenére, hogy nem néz ki olyan szép, ez nagyon tudatos, hogy 52 00:02:26,120 --> 00:02:28,210 n nyilvánítják kívül ez a do-while ciklus. 53 00:02:28,210 --> 00:02:29,838