1 00:00:00,000 --> 00:00:00,440 2 00:00:00,440 --> 00:00:03,440 >> Spreker 1: Die laaste keer wat ons ontleed heelgetalle, onthou dat ons gewoonlik 'n paar 3 00:00:03,440 --> 00:00:07,810 Boolse uitdrukkings te kyk as 'n gebruiker se toevoer n was tussen getalle 4 00:00:07,810 --> 00:00:11,580 soos 0 en 3, 4 en 7 en 8 en 10. 5 00:00:11,580 --> 00:00:14,990 Wel, ons het dit gebruik as se en anders As se nie, maar dit blyk uit wat jy kan 6 00:00:14,990 --> 00:00:17,990 implementeer wat dieselfde logika gebruik van 'n verskillende programme konstruk 7 00:00:17,990 --> 00:00:21,400 heeltemal, terwyl nog die bereiking presies dieselfde resultaat. 8 00:00:21,400 --> 00:00:25,000 In werklikheid, kan ons iets stel bekend as 'n skakelaar wat ons toelaat om te 9 00:00:25,000 --> 00:00:28,660 skakel ons gedrag, afhangende van die waarde van 'n paar veranderlike. 10 00:00:28,660 --> 00:00:29,840 >> Kom ons gee dit 'n probeer. 11 00:00:29,840 --> 00:00:35,730 Om dit te doen, ek gaan eers in te sluit die cs50 biblioteek by wyse van cs50.h. 12 00:00:35,730 --> 00:00:39,960 Ek gaan ook om die standaard te sluit biblioteek by wyse van standaard I / O.h. 13 00:00:39,960 --> 00:00:44,540 En ek gaan die hoof in om te verklaar die gewone manier, int belangrikste leemte. 14 00:00:44,540 --> 00:00:45,650 Maak krullerige stut. 15 00:00:45,650 --> 00:00:47,100 Maak krullerige stut. 16 00:00:47,100 --> 00:00:49,720 En nou gaan ek vra die gebruiker vir 'n heelgetal. 17 00:00:49,720 --> 00:00:56,990 >> Printf, gee my 'n int tussen 1 en 10. 18 00:00:56,990 --> 00:00:59,310 En nou gaan ek te kry dat int die gebruik van die cs50 19 00:00:59,310 --> 00:01:01,590 biblioteke funksioneer, getint. 20 00:01:01,590 --> 00:01:06,140 Int, kom ons noem dit n, gelyk getint. 21 00:01:06,140 --> 00:01:08,500 En nou gaan ek 'n bietjie te doen analise op daardie heelgetal. 22 00:01:08,500 --> 00:01:13,120 Ietwat arbitrêr nie, maar met hierdie nuwe konstruk bekend as 'n skakelaar. 23 00:01:13,120 --> 00:01:16,530 Skakel die waarde van n as volg. 24 00:01:16,530 --> 00:01:23,240 >> In die geval dat n gelyk 1, of in die geval dat n gelyk 2, of in die geval 25 00:01:23,240 --> 00:01:28,150 dat n gelyk aan 3, gaan voort en voer hierdie lyn van kode. 26 00:01:28,150 --> 00:01:34,480 Printf jy opgetel 'n klein int, breek. 27 00:01:34,480 --> 00:01:37,610 Nou, ek moet die ekwivalent te implementeer van 'n ELT eenvoudig deur die 28 00:01:37,610 --> 00:01:40,990 n opname 'n paar ekstra gevalle. 29 00:01:40,990 --> 00:01:47,180 >> In die geval dat n gelyk 4, of in die geval dat n gelyk 5, of in die geval 30 00:01:47,180 --> 00:01:53,830 dat n gelyk 6, of in die geval dat n gelyk aan 7, gaan voort en druk jy 31 00:01:53,830 --> 00:01:58,000 pluk 'n medium Int. 32 00:01:58,000 --> 00:01:59,490 Breek. 33 00:01:59,490 --> 00:02:02,300 Nou in die geval van die gebruiker gekies 'n groot aantal, laat 34 00:02:02,300 --> 00:02:04,940 ontdek dat as volg. 35 00:02:04,940 --> 00:02:08,900 >> In die geval dat die gebruiker opgetel agt of in die geval dat die gebruiker kies 36 00:02:08,900 --> 00:02:14,110 nege, of in die geval dat die gebruiker kies 10, gaan voort en druk jy 37 00:02:14,110 --> 00:02:17,830 pluk 'n groot Int. 38 00:02:17,830 --> 00:02:19,180 Breek. 39 00:02:19,180 --> 00:02:23,970 ELT, as 'n gebruiker het nie 'n nommer kies wat val in enige van hierdie 10 gevalle, 40 00:02:23,970 --> 00:02:25,520 laat ons 'n paar standaard gedrag. 41 00:02:25,520 --> 00:02:27,870 Wat in hierdie geval, sal soos volg wees. 42 00:02:27,870 --> 00:02:32,860 >> Default, printf, jy opgetel 'n ongeldig Int. 43 00:02:32,860 --> 00:02:36,100 44 00:02:36,100 --> 00:02:38,220 Breek. 45 00:02:38,220 --> 00:02:42,870 Nou, as ek spaar die lêer kompilering dit maak met skakelaar. 46 00:02:42,870 --> 00:02:44,870 Doen dit met. Streep skakelaar. 47 00:02:44,870 --> 00:02:46,770 Kom ons doen 'n paar gesonde verstand kontrole. 48 00:02:46,770 --> 00:02:48,440 Ek haal 'n Int van 1. 49 00:02:48,440 --> 00:02:50,110 En ID opgetel 'n klein int. 50 00:02:50,110 --> 00:02:52,240 >> Kom ons nou doen. Streep skakelaar. 51 00:02:52,240 --> 00:02:54,514 En tik in sê, negatiewe 1. 52 00:02:54,514 --> 00:02:56,900 En ID opgetel 'n ongeldig int. 53 00:02:56,900 --> 00:02:59,560 Aan die einde van die dag, die skakelaar bou nie in staat stel om te doen 54 00:02:59,560 --> 00:03:03,320 enigiets wat jy kan nie reeds doen met die meer bekende indien anders as, 55 00:03:03,320 --> 00:03:04,530 anders bou. 56 00:03:04,530 --> 00:03:07,470 Maar as jy het 'n beperkte lys van waardes dat jy die keur vir 'n 57 00:03:07,470 --> 00:03:09,820 skakelaar verklaring baie goed maak jou kode meer 58 00:03:09,820 --> 00:03:11,310 uitdruklik of meer leesbare. 59 00:03:11,310 --> 00:03:12,910