1 00:00:00,000 --> 00:00:00,330 2 00:00:00,330 --> 00:00:03,230 >> SIARADWR: Gadewch i gweithredu rhaglen sy'n annog y defnyddiwr ar gyfer cyfanrif 3 00:00:03,230 --> 00:00:05,850 ond mae'n parhau yn eu annog ar gyfer cyfanrif arall hyd nes 4 00:00:05,850 --> 00:00:07,590 y cyfanrif yn gadarnhaol. 5 00:00:07,590 --> 00:00:16,760 Wel, gadewch i ni ysgrifennu hyn, yn cynnwys cs50.h, gynnwys io dot h safonol, int 6 00:00:16,760 --> 00:00:18,010 prif [ddi-rym]. 7 00:00:18,010 --> 00:00:20,000 8 00:00:20,000 --> 00:00:23,200 Nawr, gadewch i ni mewn gwirionedd yn dechrau annog y defnyddwyr ar gyfer cyfanrif hwn tra cadw mewn 9 00:00:23,200 --> 00:00:25,570 meddwl ein bod am i reprompt iddynt hyd nes y bydd 10 00:00:25,570 --> 00:00:26,860 rhif yn bositif mewn gwirionedd. 11 00:00:26,860 --> 00:00:30,160 >> Felly byddaf eisiau rhyw fath o dolennu adeiladu, ond dolen sydd yn gweithredu ar 12 00:00:30,160 --> 00:00:31,200 leiaf unwaith. 13 00:00:31,200 --> 00:00:34,810 A dwyn i gof y ddolen do-tra yn caniatáu i ni wneud yn union hynny. 14 00:00:34,810 --> 00:00:36,140 Gadewch i ni cod hwn i fyny. 15 00:00:36,140 --> 00:00:39,210 >> Gadewch i ni ddatgan int gyntaf - ni chi helpu alw n - lle i storio'r 16 00:00:39,210 --> 00:00:41,030 cyfanrif defnyddiwr. 17 00:00:41,030 --> 00:00:44,250 Gadewch i ni yn awr yn gwneud y canlynol. 18 00:00:44,250 --> 00:00:51,292 Printf, rhowch int cadarnhaol i mi. 19 00:00:51,292 --> 00:00:54,470 Gadewch i ni yn awr yn cael y int ddefnyddio GetInt y llyfrgell CS50 yn 20 00:00:54,470 --> 00:00:59,110 swyddogaeth, n cael GetInt. 21 00:00:59,110 --> 00:01:02,610 Ac yn awr rydym yn ei wneud yn gwneud rhywbeth, ond rydym yn mynd i eisiau i wneud hyn 22 00:01:02,610 --> 00:01:04,580 tra n yw - 23 00:01:04,580 --> 00:01:05,480 beth? - 24 00:01:05,480 --> 00:01:09,370 llai nag 1, os ydym yn wir eisiau cyfanrif positif. 25 00:01:09,370 --> 00:01:11,670 >> Gadewch i ni fynd yn ei flaen yn awr ac yn argraffu. 26 00:01:11,670 --> 00:01:17,590 Os yw popeth yn iawn, diolch gyfer y int cadarnhaol, 27 00:01:17,590 --> 00:01:19,360 colon, yn arbed y ffeil. 28 00:01:19,360 --> 00:01:21,480 Gadewch i ni yn awr yn llunio ac yn rhedeg. 29 00:01:21,480 --> 00:01:25,550 >> Gwnewch yn gadarnhaol dot slaes cadarnhaol. 30 00:01:25,550 --> 00:01:27,470 Ac yn awr yr wyf i'n cael eu cymell ar gyfer int cadarnhaol. 31 00:01:27,470 --> 00:01:29,630 Gadewch i mi gydweithio gydag 1. 32 00:01:29,630 --> 00:01:31,330 Diolch am y int cadarnhaol. 33 00:01:31,330 --> 00:01:33,650 >> Gadewch i ni yn awr ailgynnal y rhaglen hon ac nid gydweithredu. 34 00:01:33,650 --> 00:01:35,260 Rhowch int cadarnhaol i mi. 35 00:01:35,260 --> 00:01:37,300 Beth am negyddol 1? 36 00:01:37,300 --> 00:01:37,910 Diddorol. 37 00:01:37,910 --> 00:01:40,460 Mae'r rhaglen eisoes yn reprompted mi am int. 38 00:01:40,460 --> 00:01:43,170 >> Gadewch i ni fod ychydig yn fwy anodd gyda 0. 39 00:01:43,170 --> 00:01:46,310 Dal ddim yn int cadarnhaol, felly gadewch i ni cydweithredu a'r tro hwn 40 00:01:46,310 --> 00:01:48,280 darparu, unwaith eto, 1. 41 00:01:48,280 --> 00:01:49,990 Diolch am y int cadarnhaol. 42 00:01:49,990 --> 00:01:54,300 >> Nawr mae'n bwysig nodi fy mod datgan fy n amrywiol ar-lein 6, 43 00:01:54,300 --> 00:01:56,510 y tu allan i'r ddolen do-tra. 44 00:01:56,510 --> 00:02:01,030 Pe bawn yn hytrach datgan n tu mewn fy do-tra dolen, yn benodol ar, dyweder, 45 00:02:01,030 --> 00:02:06,230 llinell 10, lle yr wyf hefyd yn cael y int o y defnyddiwr, y byddai int n yn unig 46 00:02:06,230 --> 00:02:09,904 yn bodoli o fewn cyfyngiadau'r cyrliog braces sydd ar hyn o bryd 47 00:02:09,904 --> 00:02:12,320 llinell 8 ac ar-lein 11. 48 00:02:12,320 --> 00:02:16,570 >> Mewn geiriau eraill, byddai n cael eu cwmpasu i y tu mewn y ddolen do-tra. 49 00:02:16,570 --> 00:02:20,390 Ond y broblem yw ein bod yn hefyd am ddefnyddio n yn unol 12 50 00:02:20,390 --> 00:02:21,900 tu mewn i'r cyflwr. 51 00:02:21,900 --> 00:02:26,120 Felly hyd yn oed er nad yw'n edrych mor 'n bert, mae'n llawer iawn bwriadol 52 00:02:26,120 --> 00:02:28,210 n cael ei ddatgan y tu allan i hwn dolen do-tra. 53 00:02:28,210 --> 00:02:29,838