1 00:00:00,000 --> 00:00:00,330 2 00:00:00,330 --> 00:00:03,230 >> SPEAKER: Ni apliki programon kiu stimulanta la uzanto por entjero 3 00:00:03,230 --> 00:00:05,850 sed daŭre instigante ilin por alia entjero ĝis 4 00:00:05,850 --> 00:00:07,590 ke entjero estas pozitiva. 5 00:00:07,590 --> 00:00:16,760 Nu, ni skribas ĉi tion, inkluzivi cs50.h, inkludas normon io dot h, int 6 00:00:16,760 --> 00:00:18,010 ĉefa [malplenon]. 7 00:00:18,010 --> 00:00:20,000 8 00:00:20,000 --> 00:00:23,200 Nun ni vere komencos suflori la uzanto por tio entjera konservante en 9 00:00:23,200 --> 00:00:25,570 gravas ke ni volas reprompt ilin ĝis tiu 10 00:00:25,570 --> 00:00:26,860 nombro estas fakte pozitiva. 11 00:00:26,860 --> 00:00:30,160 >> Do mi devos ĉu ia looping konstrui, sed banton kiu ekzekutas je 12 00:00:30,160 --> 00:00:31,200 Almenaŭ unufoje. 13 00:00:31,200 --> 00:00:34,810 Kaj memoru la do-dum buklo permesas ni fari ghuste tion. 14 00:00:34,810 --> 00:00:36,140 Ni kodigi ĉi supre. 15 00:00:36,140 --> 00:00:39,210 >> Ni unue deklari an int - Ni vokas ĝi n - en kiu por stoki la 16 00:00:39,210 --> 00:00:41,030 uzanto entjero. 17 00:00:41,030 --> 00:00:44,250 Ni nun faras la sekvan. 18 00:00:44,250 --> 00:00:51,292 Printf, bonvolu doni al mi pozitiva int. 19 00:00:51,292 --> 00:00:54,470 Ni nun ek ke int uzante la CS50 biblioteko GetInt 20 00:00:54,470 --> 00:00:59,110 funkcio, n gets GetInt. 21 00:00:59,110 --> 00:01:02,610 Kaj nun ni faris faras ion, sed ni tuj volas fari ĉi 22 00:01:02,610 --> 00:01:04,580 dum n estas - 23 00:01:04,580 --> 00:01:05,480 kio? - 24 00:01:05,480 --> 00:01:09,370 malpli ol 1, se ni ja ĉu pozitiva entjero. 25 00:01:09,370 --> 00:01:11,670 >> Ni iru antaŭen nun kaj presi. 26 00:01:11,670 --> 00:01:17,590 Se ĉio bonas, dankon cxar la pozitivaj entjeraj, 27 00:01:17,590 --> 00:01:19,360 punktokomo, savu la dosieron. 28 00:01:19,360 --> 00:01:21,480 Ni nun kompili kaj kuros. 29 00:01:21,480 --> 00:01:25,550 >> Faru pozitiva punkto oblikvo pozitiva. 30 00:01:25,550 --> 00:01:27,470 Kaj nun mi esti instigis por pozitivaj int. 31 00:01:27,470 --> 00:01:29,630 Permesu al mi kunlaboros kun 1. 32 00:01:29,630 --> 00:01:31,330 Dankon pro la pozitivaj int. 33 00:01:31,330 --> 00:01:33,650 >> Ni nun rerun ĉi programo kaj ne kunlaboros. 34 00:01:33,650 --> 00:01:35,260 Bonvolu doni al mi pozitiva int. 35 00:01:35,260 --> 00:01:37,300 Kion pri negativa 1? 36 00:01:37,300 --> 00:01:37,910 Interesa. 37 00:01:37,910 --> 00:01:40,460 La programo estas jam reprompted mi per int. 38 00:01:40,460 --> 00:01:43,170 >> Ni estu iomete pli malfacila kun 0. 39 00:01:43,170 --> 00:01:46,310 Ankoraŭ ne estas pozitivaj entjeraj, do ni kunlaboru kaj ĉi-foje 40 00:01:46,310 --> 00:01:48,280 havigi, denove, 1. 41 00:01:48,280 --> 00:01:49,990 Dankon pro la pozitivaj int. 42 00:01:49,990 --> 00:01:54,300 >> Nun ĝi estas grave noti, ke mi deklaris mian variablo n sur la linio 6, 43 00:01:54,300 --> 00:01:56,510 eksteren de la do-dum-cirklon. 44 00:01:56,510 --> 00:02:01,030 Havita Mi anstataŭ deklaris n ene de mia do-dum buklo, specife pri, ekzemple, 45 00:02:01,030 --> 00:02:06,230 linio 10, kie mi ankaŭ preni la int el la uzanton, ke int n havus nur 46 00:02:06,230 --> 00:02:09,904 ekzistis ene de la randoj de la krispa krampoj, kiuj estas nuntempe en 47 00:02:09,904 --> 00:02:12,320 linio 8 kaj sur linio 11. 48 00:02:12,320 --> 00:02:16,570 >> En aliaj vortoj, la n estus scoped al interne de tiu do-dum-cirklon. 49 00:02:16,570 --> 00:02:20,390 Sed la problemo estas, ke ni ankaŭ volas uzi n en linion 12 50 00:02:20,390 --> 00:02:21,900 interne de la kondiĉo. 51 00:02:21,900 --> 00:02:26,120 Do eĉ se ĝi ne aspektas tia bela, ĝi estas tre diskutita, ke 52 00:02:26,120 --> 00:02:28,210 n estas deklarita ekstere ĉi do-dum-cirklon. 53 00:02:28,210 --> 00:02:29,838