1 00:00:00,000 --> 00:00:00,440 2 00:00:00,440 --> 00:00:03,440 >> LUIDSPREKER 1: De laatste keer dat we analyseerden integers, herinneren die we gebruikten sommige 3 00:00:03,440 --> 00:00:07,810 Booleaanse uitdrukkingen om te controleren of een gebruiker ingang n was tussen de nummers 4 00:00:07,810 --> 00:00:11,580 zoals 0 en 3, 4 en 7, en 8 en 10. 5 00:00:11,580 --> 00:00:14,990 Nou, we hebben dat het gebruik van als en anders indien, maar het blijkt dat je kunt 6 00:00:14,990 --> 00:00:17,990 implementeren die dezelfde logica met behulp van een verschillende programmeertalen construct 7 00:00:17,990 --> 00:00:21,400 helemaal terwijl nog steeds precies hetzelfde resultaat. 8 00:00:21,400 --> 00:00:25,000 In feite kunnen we iets introduceren riep een schakelaar die ons in staat stelt om 9 00:00:25,000 --> 00:00:28,660 Schakel ons gedrag, afhankelijk van de waarde van enige variabele. 10 00:00:28,660 --> 00:00:29,840 >> Laten we dit eens te proberen. 11 00:00:29,840 --> 00:00:35,730 Om dit te doen, ga ik eerst naar behoren de CS50 bibliotheek door middel van cs50.h. 12 00:00:35,730 --> 00:00:39,960 Ik ben ook van plan om de standaard omvatten bibliotheek door middel van standaard I / O.h. 13 00:00:39,960 --> 00:00:44,540 En ik ga verklaren belangrijkste in de gebruikelijke manier, int main leegte. 14 00:00:44,540 --> 00:00:45,650 Open accolade. 15 00:00:45,650 --> 00:00:47,100 Sluit accolade. 16 00:00:47,100 --> 00:00:49,720 En nu ga ik om te vragen de gebruiker een geheel getal. 17 00:00:49,720 --> 00:00:56,990 >> Printf, geef me een int tussen 1 en 10. 18 00:00:56,990 --> 00:00:59,310 En nu ga ik om te krijgen dat int gebruik van de CS50 19 00:00:59,310 --> 00:01:01,590 bibliotheken functioneren, getint. 20 00:01:01,590 --> 00:01:06,140 Int, laten we zeggen n, gelijk getint. 21 00:01:06,140 --> 00:01:08,500 En nu ga ik een beetje te doen van analyse die integer. 22 00:01:08,500 --> 00:01:13,120 Enigszins arbitrair, maar met deze nieuwe constructie bekend als een schakelaar. 23 00:01:13,120 --> 00:01:16,530 Schakel de waarde van n als volgt. 24 00:01:16,530 --> 00:01:23,240 >> In het geval dat n gelijk is aan 1, of in de zo dat n gelijk is aan 2, of in geval 25 00:01:23,240 --> 00:01:28,150 dat n gelijk is aan 3, ga je gang en deze lijn van code uit te voeren. 26 00:01:28,150 --> 00:01:34,480 Printf je pakte een kleine int, pauze. 27 00:01:34,480 --> 00:01:37,610 Nu, ik moet het equivalent implementeren van een ELT eenvoudig door 28 00:01:37,610 --> 00:01:40,990 opsommen van een aantal extra gevallen. 29 00:01:40,990 --> 00:01:47,180 >> In het geval dat n gelijk is aan 4 of in de zo dat n gelijk is aan 5, of in het geval 30 00:01:47,180 --> 00:01:53,830 dat n gelijk is aan 6, of in het geval dat n is gelijk aan 7, ga je gang en uitprinten u 31 00:01:53,830 --> 00:01:58,000 pakte een medium Int. 32 00:01:58,000 --> 00:01:59,490 Breken. 33 00:01:59,490 --> 00:02:02,300 Nu in het geval de gebruiker geplukt een groot aantal, laten we 34 00:02:02,300 --> 00:02:04,940 detecteren dat als volgt. 35 00:02:04,940 --> 00:02:08,900 >> In het geval dat de gebruiker koos acht of in het geval dat de gebruiker halen 36 00:02:08,900 --> 00:02:14,110 negen, of in het geval dat de gebruiker pick 10, ga je gang en print u 37 00:02:14,110 --> 00:02:17,830 pakte een grote Int. 38 00:02:17,830 --> 00:02:19,180 Breken. 39 00:02:19,180 --> 00:02:23,970 ELT, als een gebruiker een aantal niet halen dat valt in een van deze 10 gevallen 40 00:02:23,970 --> 00:02:25,520 laten we eens wat standaard gedrag. 41 00:02:25,520 --> 00:02:27,870 Die in dit geval als volgt. 42 00:02:27,870 --> 00:02:32,860 >> Default, Printf, je pakte een ongeldige Int. 43 00:02:32,860 --> 00:02:36,100 44 00:02:36,100 --> 00:02:38,220 Breken. 45 00:02:38,220 --> 00:02:42,870 Nu, als ik sla dit bestand compileren het met overstap te maken. 46 00:02:42,870 --> 00:02:44,870 Voer het uit met. Slash schakelaar. 47 00:02:44,870 --> 00:02:46,770 Laten we een paar van sanity checks. 48 00:02:46,770 --> 00:02:48,440 Ik haal een Int van 1. 49 00:02:48,440 --> 00:02:50,110 En ID pakte een kleine int. 50 00:02:50,110 --> 00:02:52,240 >> Laten we het nu doen. Slash schakelaar. 51 00:02:52,240 --> 00:02:54,514 En typ in bijvoorbeeld negatief 1. 52 00:02:54,514 --> 00:02:56,900 En ID pakte een ongeldige int. 53 00:02:56,900 --> 00:02:59,560 Aan het eind van de dag, de schakelaar bouw je niet in staat te doen 54 00:02:59,560 --> 00:03:03,320 iets dat je kon niet al doen de meer vertrouwde indien anders als, 55 00:03:03,320 --> 00:03:04,530 anders te construeren. 56 00:03:04,530 --> 00:03:07,470 Maar als je een eindige lijst met waarden dat je het controleren voor, een 57 00:03:07,470 --> 00:03:09,820 switch statement kan zeer goed uw code meer 58 00:03:09,820 --> 00:03:11,310 expliciete, of beter leesbaar. 59 00:03:11,310 --> 00:03:12,910