1 00:00:00,000 --> 00:00:00,440 2 00:00:00,440 --> 00:00:03,440 >> SPEAKER 1: V zadnjem času smo analizirali cela števila, se spomni, da smo uporabili nekaj 3 00:00:03,440 --> 00:00:07,810 Boolove izraze, da preveri, če je uporabnik Vhodni n je med številkami 4 00:00:07,810 --> 00:00:11,580 kot 0 in 3, 4 in 7, in 8 in 10. 5 00:00:11,580 --> 00:00:14,990 No, smo naredili, da uporaba investicijskega sklada in drugega če je, vendar se izkaže, da lahko 6 00:00:14,990 --> 00:00:17,990 izvajati to isto logiko uporabo različni programski konstrukt 7 00:00:17,990 --> 00:00:21,400 v celoti, medtem ko še vedno dosegajo natančno enak rezultat. 8 00:00:21,400 --> 00:00:25,000 Dejstvo je, da lahko predstavim nekaj imenovano stikalo, ki nam omogoča, da 9 00:00:25,000 --> 00:00:28,660 preklopite naše vedenje, odvisno od vrednost neke spremenljivke. 10 00:00:28,660 --> 00:00:29,840 >> Dajmo to poskusiti. 11 00:00:29,840 --> 00:00:35,730 Če želite to narediti, sem prvič dogaja, da vključuje Knjižnica CS50 s pomočjo cs50.h. 12 00:00:35,730 --> 00:00:39,960 Jaz sem tudi dogaja, da se vključi standard Knjižnica preko standardnega I / O.h. 13 00:00:39,960 --> 00:00:44,540 In bom razglasila glavni v običajen način, int main praznino. 14 00:00:44,540 --> 00:00:45,650 Odprite skodrane opornik. 15 00:00:45,650 --> 00:00:47,100 Zaprite skodrane opornik. 16 00:00:47,100 --> 00:00:49,720 In zdaj bom vprašati Uporabnik za celo število. 17 00:00:49,720 --> 00:00:56,990 >> Printf, daj mi int med 1 in 10. 18 00:00:56,990 --> 00:00:59,310 In zdaj bom dobil da int uporabo CS50 19 00:00:59,310 --> 00:01:01,590 Knjižnice delujejo, GetInt. 20 00:01:01,590 --> 00:01:06,140 Int, recimo ji n, je enako GetInt. 21 00:01:06,140 --> 00:01:08,500 In zdaj bom naredil malo analize o tem celo število. 22 00:01:08,500 --> 00:01:13,120 Nekoliko poljubno, vendar s to Novi konstrukt znan kot stikalo. 23 00:01:13,120 --> 00:01:16,530 Preklopite na vrednost n, kot sledi. 24 00:01:16,530 --> 00:01:23,240 >> V primeru, da je n enak 1, ali pri zgodi, da je n enak 2, ali v primeru 25 00:01:23,240 --> 00:01:28,150 da je n enak 3, pojdi naprej in izvršitev te kode. 26 00:01:28,150 --> 00:01:34,480 Printf si izbral majhno int odmor. 27 00:01:34,480 --> 00:01:37,610 Zdaj moram izvesti ekvivalent od ELT preproste, 28 00:01:37,610 --> 00:01:40,990 naštevam nekaj dodatnih primerov. 29 00:01:40,990 --> 00:01:47,180 >> V primeru, da je n enak 4, ali zgodi, da je n enak 5, ali v primeru 30 00:01:47,180 --> 00:01:53,830 da je n enak 6, ali v primeru, da n enak 7, pojdi naprej in izpisal vas 31 00:01:53,830 --> 00:01:58,000 izbral srednjo Int. 32 00:01:58,000 --> 00:01:59,490 Break. 33 00:01:59,490 --> 00:02:02,300 Sedaj v primeru, da uporabnik izbral velikem številu, dajmo 34 00:02:02,300 --> 00:02:04,940 zaznajo, da kot sledi. 35 00:02:04,940 --> 00:02:08,900 >> V primeru, da uporabnik izbral osem ali v primeru, da uporabnik pobere 36 00:02:08,900 --> 00:02:14,110 devet, ali v primeru, da uporabnik pobere 10, pojdi naprej in izpisal vas 37 00:02:14,110 --> 00:02:17,830 pobral velik Int. 38 00:02:17,830 --> 00:02:19,180 Break. 39 00:02:19,180 --> 00:02:23,970 ELT, če uporabnik ni izbral številko ki spada v nobeno od teh 10 primerov, 40 00:02:23,970 --> 00:02:25,520 dajmo nekaj privzeto obnašanje. 41 00:02:25,520 --> 00:02:27,870 Ki je v tem primeru bodo naslednji. 42 00:02:27,870 --> 00:02:32,860 >> Default, printf, si izbral neveljavna 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 Zdaj, če sem shranite to datoteko pripravijo je z make stikalo. 46 00:02:42,870 --> 00:02:44,870 Teči s. Poševnica stikalom. 47 00:02:44,870 --> 00:02:46,770 Naredimo nekaj logična preverjanja. 48 00:02:46,770 --> 00:02:48,440 Pobrala bom notr od 1. 49 00:02:48,440 --> 00:02:50,110 In ID izbral majhno int. 50 00:02:50,110 --> 00:02:52,240 >> Pojdimo zdaj storiti. Poševnica stikalo. 51 00:02:52,240 --> 00:02:54,514 In tip v recimo negativno 1. 52 00:02:54,514 --> 00:02:56,900 In ID izbral napačen int. 53 00:02:56,900 --> 00:02:59,560 Ob koncu dneva, stikalo gradnjo te ne omogočajo, da storijo 54 00:02:59,560 --> 00:03:03,320 kaj, da ga ne bi že lahko storite z bolj seznanjeni, če drugega, če 55 00:03:03,320 --> 00:03:04,530 drug konstrukt. 56 00:03:04,530 --> 00:03:07,470 Ampak, če imate končno seznam vrednosti da ste preverjanje, 57 00:03:07,470 --> 00:03:09,820 Stikalo izjavo lahko zelo dobro, da vaša koda bolj 58 00:03:09,820 --> 00:03:11,310 eksplicitno ali bolj berljiva. 59 00:03:11,310 --> 00:03:12,910