1 00:00:00,000 --> 00:00:00,440 2 00:00:00,440 --> 00:00:03,440 >> ALTAVEU 1: L'última vegada que es van analitzar sencers, recorden que hem utilitzat alguna 3 00:00:03,440 --> 00:00:07,810 Expressions booleanes per comprovar si d'un usuari entrada de N era entre els números 4 00:00:07,810 --> 00:00:11,580 com 0 i 3, 4 i 7, i 8 i 10. 5 00:00:11,580 --> 00:00:14,990 Bé, vam fer que l'ús del cas i altres si ho és, però resulta que es pot 6 00:00:14,990 --> 00:00:17,990 aplicar la mateixa lògica utilitzant una diferent construcció de programació 7 00:00:17,990 --> 00:00:21,400 completament sense deixar d'aconseguir precisament el mateix resultat. 8 00:00:21,400 --> 00:00:25,000 De fet, podem introduir alguna cosa anomenat un interruptor que ens permet 9 00:00:25,000 --> 00:00:28,660 canviar el nostre comportament en funció de el valor d'alguna variable. 10 00:00:28,660 --> 00:00:29,840 >> Anem a donar a aquest un intent. 11 00:00:29,840 --> 00:00:35,730 Per fer això, estic primer va a incloure la biblioteca CS50 a manera de cs50.h. 12 00:00:35,730 --> 00:00:39,960 També vaig a incloure la norma biblioteca per mitjà de l'estàndard d'E / O.h. 13 00:00:39,960 --> 00:00:44,540 I vaig a declarar principal la forma habitual, int void main. 14 00:00:44,540 --> 00:00:45,650 Obrir claudàtor. 15 00:00:45,650 --> 00:00:47,100 Tancament clau de tancament. 16 00:00:47,100 --> 00:00:49,720 I ara vaig a demanar a la usuari per a un sencer. 17 00:00:49,720 --> 00:00:56,990 >> Printf, dóna'm un int entre 1 i 10. 18 00:00:56,990 --> 00:00:59,310 I ara em posaré que int usant el CS50 19 00:00:59,310 --> 00:01:01,590 biblioteques funcionen, GetInt. 20 00:01:01,590 --> 00:01:06,140 Int, diguem n, és igual GetInt. 21 00:01:06,140 --> 00:01:08,500 I ara me'n vaig a fer una mica d'anàlisi en aquest sencer. 22 00:01:08,500 --> 00:01:13,120 Una mica arbitrària, però amb aquest nova construcció conegut com un interruptor. 23 00:01:13,120 --> 00:01:16,530 Encendre el valor de n de la següent manera. 24 00:01:16,530 --> 00:01:23,240 >> En el cas que n és igual a 1, o al cas que n és igual a 2, o en el cas 25 00:01:23,240 --> 00:01:28,150 que n és igual a 3, seguir endavant i executar aquesta línia de codi. 26 00:01:28,150 --> 00:01:34,480 Printf vostè va escollir una petita int, trencar. 27 00:01:34,480 --> 00:01:37,610 Ara, he de aplicar l'equivalent d'un ELT senzilla per 28 00:01:37,610 --> 00:01:40,990 enumerant alguns casos addicionals. 29 00:01:40,990 --> 00:01:47,180 >> En el cas que n és igual a 4, o al cas que n és igual a 5, o en el cas 30 00:01:47,180 --> 00:01:53,830 que n és igual a 6, o en el cas que n és igual a 7, seguir endavant i imprimir vostè 31 00:01:53,830 --> 00:01:58,000 triat un Int mitjà. 32 00:01:58,000 --> 00:01:59,490 Trenqui. 33 00:01:59,490 --> 00:02:02,300 Ara bé, en el cas que l'usuari va escollir un gran nombre, anem a 34 00:02:02,300 --> 00:02:04,940 detectar que la següent. 35 00:02:04,940 --> 00:02:08,900 >> En el cas que l'usuari va recollir 08:00 o en el cas que l'usuari esculli 36 00:02:08,900 --> 00:02:14,110 09:00, o en el cas que l'usuari esculli 10, seguir endavant i imprimir vostè 37 00:02:14,110 --> 00:02:17,830 triat un gran Int. 38 00:02:17,830 --> 00:02:19,180 Trenqui. 39 00:02:19,180 --> 00:02:23,970 ELT, si un usuari no es va recuperar un nombre que està compresa en qualsevol d'aquests 10 casos, 40 00:02:23,970 --> 00:02:25,520 tindrem un comportament predeterminat. 41 00:02:25,520 --> 00:02:27,870 Que en aquest cas serà el següent. 42 00:02:27,870 --> 00:02:32,860 >> Per defecte, Printf, que va triar 01:00 Int no vàlid. 43 00:02:32,860 --> 00:02:36,100 44 00:02:36,100 --> 00:02:38,220 Trenqui. 45 00:02:38,220 --> 00:02:42,870 Ara, si puc guardar aquest arxiu de compilació que amb compon interruptor. 46 00:02:42,870 --> 00:02:44,870 Executar amb. Interruptor de barra. 47 00:02:44,870 --> 00:02:46,770 Farem un parell de comprovacions de sanitat. 48 00:02:46,770 --> 00:02:48,440 Vaig a recollir un Int d'1. 49 00:02:48,440 --> 00:02:50,110 I ID recollir una petita int. 50 00:02:50,110 --> 00:02:52,240 >> Ara farem. Interruptor de slash. 51 00:02:52,240 --> 00:02:54,514 I escriure per exemple, 1 negatiu. 52 00:02:54,514 --> 00:02:56,900 I va agafar un int ID vàlid. 53 00:02:56,900 --> 00:02:59,560 Al final del dia, l'interruptor construir no li permetrà fer 54 00:02:59,560 --> 00:03:03,320 cosa que no es podia ja fer amb la més familiar si, més si, 55 00:03:03,320 --> 00:03:04,530 else. 56 00:03:04,530 --> 00:03:07,470 Però si vostè té una llista finita de valors que vostè està comprovant, un 57 00:03:07,470 --> 00:03:09,820 sentència switch pot molt així que el seu codi sigui més 58 00:03:09,820 --> 00:03:11,310 explícitament o més llegible. 59 00:03:11,310 --> 00:03:12,910