>> SPEAKER 1: Sidste gang vi analyserede heltal, minde om, at vi brugte nogle
Boolske udtryk til at kontrollere, om en brugers input n var mellem numrene
ligesom 0 og 3, 4 og 7, og 8. og 10..
Nå, vi gjorde det brug, hvis s og ellers hvis s, men det viser sig, du kan
gennemføre den samme logik ved hjælp af en anderledes programmering konstruere
helt, mens der stadig opnå nøjagtigt det samme resultat.
Faktisk kan vi præsentere noget kaldet en switch, der tillader os at
skifte vores adfærd, afhængigt af en værdi af variablen.
>> Lad os give det en chance.
For at gøre dette, jeg først kommer til at omfatte Den CS50 bibliotek ved hjælp af cs50.h.
Jeg er også kommer til at omfatte standard bibliotek ved hjælp af standard I / O.h.
Og jeg har tænkt mig at erklære vigtigste i den sædvanlige måde, int main tomrum.
Åbn klammeparentes.
Luk klammeparentes.
Og nu vil jeg bede bruger til et heltal.
>> Printf, giv mig en int mellem 1 og 10.
Og nu jeg har tænkt mig at få at int bruge CS50
biblioteker fungere GetInt.
Int, lad os kalde det n, lig GetInt.
Og nu jeg har tænkt mig at gøre en smule analyse på dette tal.
Noget vilkårligt, men med dette ny konstruktion kendt som en switch.
Tænd værdi af n, som følger.
>> I tilfælde af at n er lig med 1 eller i tilfælde af, at n er lig med 2, eller i tilfælde
at n er lig med 3, gå videre og udføre denne linje kode.
Printf du valgte en lille int, pause.
Nu har jeg brug for at gennemføre tilsvarende af en ELT simpelt ved
opremse nogle yderligere tilfælde.
>> I tilfælde af at n er lig med 4 eller i tilfælde af, at n er lig med 5, eller i tilfælde
at n er lig med 6, og i det tilfælde, at n lig 7, gå videre og udskrive dig
plukket et medium Int..
Break.
Nu i tilfælde brugeren plukket et stort antal, lad os
detektere, at som følger.
>> I tilfælde af at brugeren plukket otte eller i tilfælde af, at brugeren vælger
ni eller i tilfælde af, at brugeren vælger 10, gå videre og udskrive dig
plukket en stor Int.
Break.
ELT, hvis en bruger ikke vælge et nummer der falder ind under nogen af ​​disse 10 sager,
lad os få nogle standard opførsel.
Som i dette tilfælde vil være som følger.
>> Standard printf, du valgte en ugyldig Int.
Break.
Nu, hvis jeg gemme denne fil kompilere det med make skifte.
Kør det med. Skråstreg switch.
Lad os gøre et par sanity checks.
Jeg henter en Int 1.
Og id plukket en lille int.
>> Lad os nu gøre. Skråstreg switch.
Og skriv sige, negativ 1.
Og id plukket en ugyldig int.
Ved slutningen af ​​dagen, kontakten konstruere ikke muligt for dig at gøre
noget, som du ikke allerede kunne gøre med den mere velkendte, hvis ellers hvis
ellers konstruere.
Men hvis du har en begrænset liste over værdier at du tjekker efter, en
switch-statement kan meget godt gøre din kode mere
eksplicit eller mere læsevenlig.