1 00:00:00,000 --> 00:00:00,285 2 00:00:00,285 --> 00:00:03,030 >> David J. MALAN: Kom ons begin skryf meer komplekse voorwaardes. 3 00:00:03,030 --> 00:00:06,530 In die besonder, laat ons skryf 'n program wat vra die gebruiker om 'n heelgetal, 4 00:00:06,530 --> 00:00:09,460 sê, tussen 1 en 10, en dan doen 'n bietjie van die analise. 5 00:00:09,460 --> 00:00:14,530 Maar hierdie keer verslagdoening of daardie getal is klein of medium of groot in 6 00:00:14,530 --> 00:00:17,480 grootte, teken dié onderskeidings redelik arbitrêr. 7 00:00:17,480 --> 00:00:21,040 >> Om dit te doen, ek gaan om te vertrou op get int, daardie funksie van die CS50 8 00:00:21,040 --> 00:00:22,860 biblioteek wat doen presies dit. 9 00:00:22,860 --> 00:00:24,350 En ek gaan ook hefboom druk f. 10 00:00:24,350 --> 00:00:28,530 So ek gaan om te begin deur die insluiting van cs50.h as 11 00:00:28,530 --> 00:00:31,880 sowel as die standaard io.h. 12 00:00:31,880 --> 00:00:36,460 >> En gaan dan verklaar belangrikste in die gewone manier, int belangrikste leemte, oop krullerige 13 00:00:36,460 --> 00:00:38,440 stut, naby krullerige stut. 14 00:00:38,440 --> 00:00:41,240 En ek is dan gaan te vinnig die gebruiker vir 'n heelgetal. 15 00:00:41,240 --> 00:00:48,340 Print f, gee my asseblief 'n int tussen 1 en 10. 16 00:00:48,340 --> 00:00:52,640 >> Kom ons kry dat int deur waarby 'n veranderlike genoem, sê, N en die toeken 17 00:00:52,640 --> 00:00:55,520 dit die terugkeer waarde van get int. 18 00:00:55,520 --> 00:00:57,300 Kom ons doen nou 'n bietjie van analise. 19 00:00:57,300 --> 00:01:04,500 >> As n groter as of gelyk aan 0 en n minder as of gelyk aan, sê, 3, 20 00:01:04,500 --> 00:01:12,560 dan moet ons gaan om voort te gaan en uit te druk uit wat jy opgetel 'n klein int. 21 00:01:12,560 --> 00:01:15,730 >> Want as die gebruiker optel, sê, 'n medium grootte waarde, laat 22 00:01:15,730 --> 00:01:16,960 gaan vir wat as volg. 23 00:01:16,960 --> 00:01:23,360 Anders as n groter as of gelyk aan, sê, 4 en n minder as of gelyk aan, 24 00:01:23,360 --> 00:01:31,850 sê, 7, dan gaan ek te druk uit jy pluk 'n medium int. 25 00:01:31,850 --> 00:01:36,490 >> Ten slotte, ek gaan om te aanvaar dat indien die waarde is tussen 8 en 10, het hulle 26 00:01:36,490 --> 00:01:37,550 pluk 'n groot int. 27 00:01:37,550 --> 00:01:44,140 Sodat uit te druk, sal ek tik, anders as n groter as of gelyk aan 8 en n 28 00:01:44,140 --> 00:01:53,590 minder as of gelyk aan 10, gaan voort en druk jy opgetel 'n groot int. 29 00:01:53,590 --> 00:01:55,720 >> Anders, daar is 'n vierde toestand hier. 30 00:01:55,720 --> 00:01:59,520 Indien die gebruiker nie saam te werk en in plaas getik 'n waarde wat minder as 31 00:01:59,520 --> 00:02:04,430 0 of groter as 10, ek wil om net hulle berispe. 32 00:02:04,430 --> 00:02:12,490 Anders uit te druk, het jy opgetel 'n ongeldig int. 33 00:02:12,490 --> 00:02:13,950 >> Kom ons stoor die lêer. 34 00:02:13,950 --> 00:02:17,580 Stel dit met nie-skakelaar te maak. 35 00:02:17,580 --> 00:02:21,650 Terug by my vinnige, ek gaan om te hardloop dit met dot streep nie-skakelaar. 36 00:02:21,650 --> 00:02:23,320 En laat ons probeer om n paar waardes. 37 00:02:23,320 --> 00:02:26,110 >> Eerstens, laat ons nie hulpvaardig en tik in negatiewe 1. 38 00:02:26,110 --> 00:02:30,970 Gelukkig is waargeneem deur ons finale tak in daardie toestand. 39 00:02:30,970 --> 00:02:36,530 Kom ons probeer weer met dot streep nie-skakelaar, hierdie keer gee dit 1. 40 00:02:36,530 --> 00:02:37,900 Ek inderdaad 'n klein int opgetel. 41 00:02:37,900 --> 00:02:43,250 >> Kom ons doen dit weer met dot streep nie-skakelaar, hierdie tyd pluk, sê, 5. 42 00:02:43,250 --> 00:02:44,590 En dit is 'n medium int. 43 00:02:44,590 --> 00:02:48,200 Kom ons doen nou weer dot streep nie-skakelaar. 44 00:02:48,200 --> 00:02:52,650 En gee dit 'n waarde van 10, wat is inderdaad 'n groot int. 45 00:02:52,650 --> 00:02:55,310 >> Nou is dit die moeite werd om daarop te let dat hierdie program in werking gestel kon gewees het 46 00:02:55,310 --> 00:02:56,840 'n aantal van maniere. 47 00:02:56,840 --> 00:03:00,160 Eerste van alles, dit was heeltemal arbitrêre dat ek het die lyne wat ek 48 00:03:00,160 --> 00:03:03,290 het onder klein, medium, en 'n groot ints. 49 00:03:03,290 --> 00:03:05,230 Ons kon getrek het diegene grense oral. 50 00:03:05,230 --> 00:03:08,930 >> Maar meer interessant, het ek nie ' myself te druk met al hierdie 51 00:03:08,930 --> 00:03:13,440 groter as of gelyk aan of minder as of gelyk aan tekens. 52 00:03:13,440 --> 00:03:18,880 Ek kon byvoorbeeld herskryf as n groter as of gelyk aan 4 en 53 00:03:18,880 --> 00:03:24,760 n minder as of gelyk aan 7, soos in plaas As n groter as 3 en n 54 00:03:24,760 --> 00:03:29,130 is minder as 8 is, dan druk jy pluk 'n medium int. 55 00:03:29,130 --> 00:03:33,360 >> Na alles, as die gebruiker se insette deur aard van get int, 'n heelgetal is, het ons 56 00:03:33,360 --> 00:03:37,580 kan óf toets as dit waarde is groter as 3 of groter as of 57 00:03:37,580 --> 00:03:38,740 gelyk is aan 4. 58 00:03:38,740 --> 00:03:43,130 En ons kan ook kyk of wat waarde minder as 8 of minder 59 00:03:43,130 --> 00:03:44,590 as of gelyk aan 7. 60 00:03:44,590 --> 00:03:45,860