1 00:00:00,000 --> 00:00:00,440 2 00:00:00,440 --> 00:00:03,440 >> COLUMNA 1: A última vez que analizou enteiros, lembre que usan algúns 3 00:00:03,440 --> 00:00:07,810 Expresións booleanas para comprobar se un usuario entrada n estaba entre os números 4 00:00:07,810 --> 00:00:11,580 como 0 e 3, 4 e 7, e 8 e 10. 5 00:00:11,580 --> 00:00:14,990 Ben, nós fixemos iso utilizando de outra persoa e de, pero resulta que podes 6 00:00:14,990 --> 00:00:17,990 aplicar esa mesma lóxica usando un diferente construción de programación 7 00:00:17,990 --> 00:00:21,400 totalmente mentres aínda alcanzar precisamente o mesmo resultado. 8 00:00:21,400 --> 00:00:25,000 De feito, pode-se introducir algo chamado unha chave que nos permite 9 00:00:25,000 --> 00:00:28,660 cambiar o noso comportamento en función o valor dalgunha variable. 10 00:00:28,660 --> 00:00:29,840 >> Imos tentar dar un regalo. 11 00:00:29,840 --> 00:00:35,730 Para iso, eu vou primeiro en incluír a biblioteca CS50 por medio cs50.h. 12 00:00:35,730 --> 00:00:39,960 Eu tamén estou indo a incluír o estándar biblioteca por medio estándar I / O.h. 13 00:00:39,960 --> 00:00:44,540 E eu vou declarar principal do xeito habitual, int void main. 14 00:00:44,540 --> 00:00:45,650 Abre bosquexo. 15 00:00:45,650 --> 00:00:47,100 Peche bosquexo. 16 00:00:47,100 --> 00:00:49,720 E agora eu vou pedir ao usuario para un número enteiro. 17 00:00:49,720 --> 00:00:56,990 >> Printf, dáme un int entre 1 e 10. 18 00:00:56,990 --> 00:00:59,310 E agora eu estou indo a obter que int usando o CS50 19 00:00:59,310 --> 00:01:01,590 bibliotecas de funcións, GetInt. 20 00:01:01,590 --> 00:01:06,140 Int, imos chamalo n, coincide GetInt. 21 00:01:06,140 --> 00:01:08,500 E agora eu vou facer algo de análise na que enteiro. 22 00:01:08,500 --> 00:01:13,120 Un tanto arbitrariamente, pero con este nova construción coñecido como un interruptor. 23 00:01:13,120 --> 00:01:16,530 Conecte o valor de n, como segue. 24 00:01:16,530 --> 00:01:23,240 >> No caso de que non igual a 1, ou, no caso en que n igual a 2, ou no caso 25 00:01:23,240 --> 00:01:28,150 que non é igual a 3, vai adiante e executar esta liña de código. 26 00:01:28,150 --> 00:01:34,480 Printf que colleu un pequeno int, romper. 27 00:01:34,480 --> 00:01:37,610 Agora eu teño para aplicar o equivalente dun ELT simple por 28 00:01:37,610 --> 00:01:40,990 enumerando algúns casos adicionais. 29 00:01:40,990 --> 00:01:47,180 >> No caso de que non é igual a 4, ou en caso en que non é igual a 5, ou, no caso 30 00:01:47,180 --> 00:01:53,830 que non é igual a 6, ou no caso de que non é igual a 7, vai adiante e imprimir vostede 31 00:01:53,830 --> 00:01:58,000 escolleu un Int medio. 32 00:01:58,000 --> 00:01:59,490 Rompe. 33 00:01:59,490 --> 00:02:02,300 Agora, no caso de que o usuario seleccionado un número grande, imos 34 00:02:02,300 --> 00:02:04,940 detectar que, como segue. 35 00:02:04,940 --> 00:02:08,900 >> No caso de que o usuario escolleu oito ou no caso de que o usuario escoller 36 00:02:08,900 --> 00:02:14,110 nove, ou no caso de que o usuario escoller 10, vai adiante e imprimir vostede 37 00:02:14,110 --> 00:02:17,830 escolleu un gran Int 38 00:02:17,830 --> 00:02:19,180 Rompe. 39 00:02:19,180 --> 00:02:23,970 ELT, se un usuario non escoller un número que cae en calquera destes 10 casos, 40 00:02:23,970 --> 00:02:25,520 imos ter un comportamento por defecto. 41 00:02:25,520 --> 00:02:27,870 Que neste caso será a seguinte. 42 00:02:27,870 --> 00:02:32,860 >> Estándar, printf, escolleu un Int válido. 43 00:02:32,860 --> 00:02:36,100 44 00:02:36,100 --> 00:02:38,220 Rompe. 45 00:02:38,220 --> 00:02:42,870 Agora, se eu gardar este ficheiro de compilación que con facer switch. 46 00:02:42,870 --> 00:02:44,870 Executa-lo con chave de barra .. 47 00:02:44,870 --> 00:02:46,770 Imos facer algunhas checagens. 48 00:02:46,770 --> 00:02:48,440 Vou coller un Int de 1. 49 00:02:48,440 --> 00:02:50,110 E ID colleu un pequeno int. 50 00:02:50,110 --> 00:02:52,240 >> Imos agora facer. Cortar switch. 51 00:02:52,240 --> 00:02:54,514 E escribir digamos, negativo 1. 52 00:02:54,514 --> 00:02:56,900 E ID pegou un int válido. 53 00:02:56,900 --> 00:02:59,560 Ao final do día, a chave construción non permite que fai 54 00:02:59,560 --> 00:03:03,320 calquera cousa que non podería facer xa co máis familiar se, else if, 55 00:03:03,320 --> 00:03:04,530 máis construír. 56 00:03:04,530 --> 00:03:07,470 Pero se ten unha lista finita de valores que está comprobando, un 57 00:03:07,470 --> 00:03:09,820 instrución switch pode moi ben facer o código máis 58 00:03:09,820 --> 00:03:11,310 explícito, ou máis lexible. 59 00:03:11,310 --> 00:03:12,910