>> SPEAKER 1: Ultima dată când am analizat numere întregi, amintesc că am folosit unele
Expresii booleene pentru a verifica dacă un utilizator intrare n fost între numere
cum ar fi 0 și 3, 4 și 7, și 8 și 10.
Ei bine, am făcut-o, folosind dacă e și altceva în cazul lui, dar se pare că se poate
să pună în aplicare aceeași logică, folosind un alt construct de programare
totul în timp ce încă realizarea exact același rezultat.
De fapt, putem introduce ceva numit un comutator care ne permite să
schimba comportamentul nostru, în funcție de valoarea unor variabile.
>> Să-i dăm această un try.
Pentru a face acest lucru, eu sunt în primul rând de gând să includă biblioteca CS50 prin cs50.h.
Am de asemenea, va include standardul bibliotecă prin standard de I / O.h.
Și am de gând să declare principal în ca de obicei, int main.
Deschide acoladă.
Închideți acoladă.
Și acum am de gând să solicite de utilizator pentru un întreg.
>> Printf, da-mi un int între 1 și 10.
Și acum am de gând pentru a obține care int folosind CS50
biblioteci funcționează, getint.
Int, hai să o numim n, este egal cu getint.
Și acum am de gând să fac un pic de analiză pe care întreg.
Oarecum arbitrar, dar cu această Noul construct cunoscut ca un comutator.
Porniți valoarea lui n după cum urmează.
>> In cazul in care n este egal cu 1, sau în cazul in care n este egal cu 2, sau, în cazul
că n este egal cu 3, mergeți mai departe și executa această linie de cod.
Printf ai ales un int mic, pauză.
Acum, am nevoie pentru a pune în aplicare echivalentul a unui ELT simplu de
enumerând unele cazuri suplimentare.
>> In cazul in care n este egal cu 4, sau în cazul in care n este egal cu 5, sau în cazul
care n este egal cu 6, sau în cazul în care n este egal cu 7, mergeți mai departe și imprima te
ales un Int mediu.
Break.
Acum, în cazul în care utilizatorul a ales un număr mare, să
detecta că, după cum urmează.
>> În cazul în care utilizatorul a ales opt sau în cazul în care utilizatorul alege
noua, sau în cazul în care utilizatorul alege 10, mergeți mai departe și imprima te
a luat o mare Int.
Break.
ELT, dacă un utilizator nu a alege un număr care se încadrează în oricare dintre aceste 10 de cazuri,
haideți să avem un comportament implicit.
Care, în acest caz, va fi după cum urmează.
>> Implicit, printf, ai ales un Int invalid.
Break.
Acum, dacă am salva acest compilare fișier se face cu comutator.
Rulați-l cu comutator slash..
Să facem o pereche de controale bun-simț.
Voi alege un Int de 1.
Și ID-ul ales un int mic.
>> Să facem acum. Slash comutator.
Și tastați în zicem, negativ 1.
Și ID-ul ales un int invalid.
La sfârșitul zilei, comutatorul construi nu vă permite să facă
ceva ce nu a putut face deja cu mult mai familiar în cazul în care, altfel, dacă,
mai construi.
Dar, dacă aveți o listă finită de valori că sunteți de verificare pentru, un
switch poate foarte bine face codul de mai mult
explicit, sau mai ușor de citit.