1 00:00:00,000 --> 00:00:00,440 2 00:00:00,440 --> 00:00:03,440 >> SPEAKER 1: Den siste gangen vi analysert heltall, husker at vi brukte noen 3 00:00:03,440 --> 00:00:07,810 Boolske uttrykk for å sjekke om en bruker innspill n var mellom tall 4 00:00:07,810 --> 00:00:11,580 som 0 og 3, 4 og 7, og 8 og 10. 5 00:00:11,580 --> 00:00:14,990 Vel, vi gjorde det ved hjelp av If og annet hvis tallet, men det viser seg at du kan 6 00:00:14,990 --> 00:00:17,990 implementere den samme logikken ved hjelp av en annerledes programmering konstruere 7 00:00:17,990 --> 00:00:21,400 helt samtidig oppnå nøyaktig samme resultat. 8 00:00:21,400 --> 00:00:25,000 Faktisk kan vi innføre noe kalt en bryter som gjør at vi kan 9 00:00:25,000 --> 00:00:28,660 slå vår atferd avhengig verdien av en variabel. 10 00:00:28,660 --> 00:00:29,840 >> La oss gi dette en sjanse. 11 00:00:29,840 --> 00:00:35,730 For å gjøre dette, er jeg først kommer til å inkludere Det CS50 biblioteket ved hjelp av cs50.h. 12 00:00:35,730 --> 00:00:39,960 Jeg er også tenkt å omfatte standard biblioteket ved hjelp av standard I / betong-. 13 00:00:39,960 --> 00:00:44,540 Og jeg kommer til å erklære viktigste i vanlig måte, int main ugyldig. 14 00:00:44,540 --> 00:00:45,650 Åpne klammeparentes. 15 00:00:45,650 --> 00:00:47,100 Lukk klammeparentes. 16 00:00:47,100 --> 00:00:49,720 Og nå kommer jeg til å be brukeren for et heltall. 17 00:00:49,720 --> 00:00:56,990 >> Printf, gi meg en int mellom 1 og 10 år. 18 00:00:56,990 --> 00:00:59,310 Og nå kommer jeg til å få at int bruke CS50 19 00:00:59,310 --> 00:01:01,590 bibliotekene fungere, GetInt. 20 00:01:01,590 --> 00:01:06,140 Int, la oss kalle det n, lik GetInt. 21 00:01:06,140 --> 00:01:08,500 Og nå skal jeg gjøre litt av analyse på at heltall. 22 00:01:08,500 --> 00:01:13,120 Noe tilfeldig, men med dette ny konstruksjon kjent som en bryter. 23 00:01:13,120 --> 00:01:16,530 Slå på verdien av n som følger. 24 00:01:16,530 --> 00:01:23,240 >> I det tilfelle at n er lik 1, eller i tilfelle at n er lik 2, eller når det gjelder 25 00:01:23,240 --> 00:01:28,150 at n er lik 3, gå videre og utføre denne linjen med kode. 26 00:01:28,150 --> 00:01:34,480 Printf du plukket en liten int, pause. 27 00:01:34,480 --> 00:01:37,610 Nå trenger jeg å gjennomføre tilsvarende av en ELT enkelt ved 28 00:01:37,610 --> 00:01:40,990 opplisting noen ekstra tilfeller. 29 00:01:40,990 --> 00:01:47,180 >> I det tilfelle at n er lik 4 eller i tilfelle at n er lik 5, eller i tilfellet 30 00:01:47,180 --> 00:01:53,830 at n er lik 6, eller i tilfelle at n tilsvarer 7, gå videre og skrive ut du 31 00:01:53,830 --> 00:01:58,000 plukket en middels Int.. 32 00:01:58,000 --> 00:01:59,490 Break. 33 00:01:59,490 --> 00:02:02,300 Nå i tilfelle brukeren plukket et stort antall, la oss 34 00:02:02,300 --> 00:02:04,940 detektere det som følger. 35 00:02:04,940 --> 00:02:08,900 >> I tilfellet at brukeren plukket åtte eller i tilfelle at brukeren plukke 36 00:02:08,900 --> 00:02:14,110 ni, eller i tilfelle at brukeren plukke 10, gå videre og skrive ut du 37 00:02:14,110 --> 00:02:17,830 plukket en stor Int.. 38 00:02:17,830 --> 00:02:19,180 Break. 39 00:02:19,180 --> 00:02:23,970 ELT, hvis en bruker ikke velge et tall som faller i hvilken som helst av disse 10 tilfellene 40 00:02:23,970 --> 00:02:25,520 la oss ha litt standard oppførsel. 41 00:02:25,520 --> 00:02:27,870 Som i dette tilfellet vil være som følger. 42 00:02:27,870 --> 00:02:32,860 >> Standard, Printf, du plukket en ugyldig Int.. 43 00:02:32,860 --> 00:02:36,100 44 00:02:36,100 --> 00:02:38,220 Break. 45 00:02:38,220 --> 00:02:42,870 Nå, hvis jeg lagre denne filen kompilere det med make-bryteren. 46 00:02:42,870 --> 00:02:44,870 Kjør den med. Slash bryteren. 47 00:02:44,870 --> 00:02:46,770 La oss gjøre et par tilregnelighet sjekker. 48 00:02:46,770 --> 00:02:48,440 Jeg henter en Int av en. 49 00:02:48,440 --> 00:02:50,110 Og ID plukket en liten int. 50 00:02:50,110 --> 00:02:52,240 >> La oss nå gjøre. Slash bryteren. 51 00:02:52,240 --> 00:02:54,514 Og skriv i si, negativ en. 52 00:02:54,514 --> 00:02:56,900 Og ID plukket en ugyldig int. 53 00:02:56,900 --> 00:02:59,560 På slutten av dagen, bryteren konstruere ikke gjøre deg i stand til å gjøre 54 00:02:59,560 --> 00:03:03,320 noe som du ikke allerede kan gjøre med den mer kjente om, annet hvis, 55 00:03:03,320 --> 00:03:04,530 annet konstruere. 56 00:03:04,530 --> 00:03:07,470 Men hvis du har en endelig liste med verdier at du sjekker for, en 57 00:03:07,470 --> 00:03:09,820 bryter uttalelse kan meget vel gjøre koden mer 58 00:03:09,820 --> 00:03:11,310 eksplisitt, eller mer lesbar. 59 00:03:11,310 --> 00:03:12,910