LUIDSPREKER 1: De laatste keer dat we analyseerden integers, herinneren die we gebruikten sommige Booleaanse uitdrukkingen om te controleren of een gebruiker ingang n was tussen de nummers zoals 0 en 3, 4 en 7, en 8 en 10. Nou, we hebben dat het gebruik van als en anders indien, maar het blijkt dat je kunt implementeren die dezelfde logica met behulp van een verschillende programmeertalen construct helemaal terwijl nog steeds precies hetzelfde resultaat. In feite kunnen we iets introduceren riep een schakelaar die ons in staat stelt om Schakel ons gedrag, afhankelijk van de waarde van enige variabele. Laten we dit eens te proberen. Om dit te doen, ga ik eerst naar behoren de CS50 bibliotheek door middel van cs50.h. Ik ben ook van plan om de standaard omvatten bibliotheek door middel van standaard I / O.h. En ik ga verklaren belangrijkste in de gebruikelijke manier, int main leegte. Open accolade. Sluit accolade. En nu ga ik om te vragen de gebruiker een geheel getal. Printf, geef me een int tussen 1 en 10. En nu ga ik om te krijgen dat int gebruik van de CS50 bibliotheken functioneren, getint. Int, laten we zeggen n, gelijk getint. En nu ga ik een beetje te doen van analyse die integer. Enigszins arbitrair, maar met deze nieuwe constructie bekend als een schakelaar. Schakel de waarde van n als volgt. In het geval dat n gelijk is aan 1, of in de zo dat n gelijk is aan 2, of in geval dat n gelijk is aan 3, ga je gang en deze lijn van code uit te voeren. Printf je pakte een kleine int, pauze. Nu, ik moet het equivalent implementeren van een ELT eenvoudig door opsommen van een aantal extra gevallen. In het geval dat n gelijk is aan 4 of in de zo dat n gelijk is aan 5, of in het geval dat n gelijk is aan 6, of in het geval dat n is gelijk aan 7, ga je gang en uitprinten u pakte een medium Int. Breken. Nu in het geval de gebruiker geplukt een groot aantal, laten we detecteren dat als volgt. In het geval dat de gebruiker koos acht of in het geval dat de gebruiker halen negen, of in het geval dat de gebruiker pick 10, ga je gang en print u pakte een grote Int. Breken. ELT, als een gebruiker een aantal niet halen dat valt in een van deze 10 gevallen laten we eens wat standaard gedrag. Die in dit geval als volgt. Default, Printf, je pakte een ongeldige Int. Breken. Nu, als ik sla dit bestand compileren het met overstap te maken. Voer het uit met. Slash schakelaar. Laten we een paar van sanity checks. Ik haal een Int van 1. En ID pakte een kleine int. Laten we het nu doen. Slash schakelaar. En typ in bijvoorbeeld negatief 1. En ID pakte een ongeldige int. Aan het eind van de dag, de schakelaar bouw je niet in staat te doen iets dat je kon niet al doen de meer vertrouwde indien anders als, anders te construeren. Maar als je een eindige lijst met waarden dat je het controleren voor, een switch statement kan zeer goed uw code meer expliciete, of beter leesbaar.