1 00:00:00,000 --> 00:00:00,440 2 00:00:00,440 --> 00:00:03,440 >> SPEAKER 1: L'ultima volta che abbiamo analizzato interi, ricordano che abbiamo usato alcuni 3 00:00:03,440 --> 00:00:07,810 Espressioni booleane per verificare se un utente Ingresso n era tra i numeri 4 00:00:07,810 --> 00:00:11,580 come 0 e 3, 4 e 7, e 8 e 10. 5 00:00:11,580 --> 00:00:14,990 Beh, abbiamo fatto uso, se e altro se di, ma si scopre che puoi 6 00:00:14,990 --> 00:00:17,990 attuare la stessa logica con un diverso costrutto di programmazione 7 00:00:17,990 --> 00:00:21,400 tutto mentre ancora raggiungere esattamente lo stesso risultato. 8 00:00:21,400 --> 00:00:25,000 Di fatto, possiamo introdurre qualcosa chiama uno switch che permette di 9 00:00:25,000 --> 00:00:28,660 cambiare il nostro comportamento a seconda il valore di una variabile. 10 00:00:28,660 --> 00:00:29,840 >> Diamo a questo una prova. 11 00:00:29,840 --> 00:00:35,730 Per fare questo, sto andando prima ad includere biblioteca CS50 mediante cs50.h. 12 00:00:35,730 --> 00:00:39,960 Ho anche intenzione di inserire la norma biblioteca a titolo di standard di I / O.h. 13 00:00:39,960 --> 00:00:44,540 E ho intenzione di dichiarare principale solito modo, int vuoto principale. 14 00:00:44,540 --> 00:00:45,650 Aprire parentesi graffa. 15 00:00:45,650 --> 00:00:47,100 Chiudere parentesi graffa. 16 00:00:47,100 --> 00:00:49,720 E ora ho intenzione di chiedere al utente per un numero intero. 17 00:00:49,720 --> 00:00:56,990 >> Printf, dammi un int tra 1 e 10. 18 00:00:56,990 --> 00:00:59,310 E ora mi vado a prendere che int utilizzando il CS50 19 00:00:59,310 --> 00:01:01,590 librerie di funzioni, GetInt. 20 00:01:01,590 --> 00:01:06,140 Int, chiamiamolo n, uguale GetInt. 21 00:01:06,140 --> 00:01:08,500 E ora ho intenzione di fare un po ' di analisi su quel numero intero. 22 00:01:08,500 --> 00:01:13,120 Un po 'arbitrariamente, ma con questo nuovo costrutto definito commutatore. 23 00:01:13,120 --> 00:01:16,530 Accendere il valore di n come segue. 24 00:01:16,530 --> 00:01:23,240 >> Nel caso in cui n è uguale a 1, o nella caso in cui n è uguale a 2, o nel caso 25 00:01:23,240 --> 00:01:28,150 che n è uguale a 3, andare avanti e eseguire questa riga di codice. 26 00:01:28,150 --> 00:01:34,480 Printf hai scelto un piccolo int pausa. 27 00:01:34,480 --> 00:01:37,610 Ora, ho bisogno di attuare l'equivalente di un ELT semplice da 28 00:01:37,610 --> 00:01:40,990 enumerando alcuni casi aggiuntivi. 29 00:01:40,990 --> 00:01:47,180 >> Nel caso in cui n è uguale a 4, oppure nella caso in cui n è uguale a 5, o in caso 30 00:01:47,180 --> 00:01:53,830 che n è uguale a 6, o nel caso in cui n è uguale a 7, andare avanti e stampare voi 31 00:01:53,830 --> 00:01:58,000 scelto un mezzo Int. 32 00:01:58,000 --> 00:01:59,490 Pausa. 33 00:01:59,490 --> 00:02:02,300 Ora, nel caso l'utente scelto un gran numero, LET'S 34 00:02:02,300 --> 00:02:04,940 rilevare che nel modo seguente. 35 00:02:04,940 --> 00:02:08,900 >> Nel caso che l'utente scelto otto o nel caso in cui l'utente scegliere 36 00:02:08,900 --> 00:02:14,110 nove, o nel caso in cui l'utente scegliere 10, andare avanti e stampare voi 37 00:02:14,110 --> 00:02:17,830 raccolto una grande Int. 38 00:02:17,830 --> 00:02:19,180 Pausa. 39 00:02:19,180 --> 00:02:23,970 ELT, se un utente non ha preso un numero che cade in uno qualsiasi di questi 10 casi, 40 00:02:23,970 --> 00:02:25,520 cerchiamo di avere un comportamento predefinito. 41 00:02:25,520 --> 00:02:27,870 Che in questo caso saranno i seguenti. 42 00:02:27,870 --> 00:02:32,860 >> Predefinito, Printf, hai scelto un Int valido. 43 00:02:32,860 --> 00:02:36,100 44 00:02:36,100 --> 00:02:38,220 Pausa. 45 00:02:38,220 --> 00:02:42,870 Ora, se a salvare questo file compilazione che con fare switch. 46 00:02:42,870 --> 00:02:44,870 Eseguire con. Interruttore barra. 47 00:02:44,870 --> 00:02:46,770 Facciamo un paio di controlli di integrità. 48 00:02:46,770 --> 00:02:48,440 Prenderò un Int di 1. 49 00:02:48,440 --> 00:02:50,110 E ID raccolse un piccolo int. 50 00:02:50,110 --> 00:02:52,240 >> Vediamo ora lo fanno. Ridurre drasticamente switch. 51 00:02:52,240 --> 00:02:54,514 E digitare ad esempio, negativa 1. 52 00:02:54,514 --> 00:02:56,900 E ID raccolse un int valido. 53 00:02:56,900 --> 00:02:59,560 Alla fine della giornata, l'interruttore costruire non ti permettono di fare 54 00:02:59,560 --> 00:03:03,320 tutto ciò che non si poteva già fare con il più familiare se, altrimenti se, 55 00:03:03,320 --> 00:03:04,530 altro costruire. 56 00:03:04,530 --> 00:03:07,470 Ma se avete una lista finito di valori che si sta controllando, un 57 00:03:07,470 --> 00:03:09,820 istruzione switch può molto ben rendere il codice più 58 00:03:09,820 --> 00:03:11,310 esplicito, o più leggibile. 59 00:03:11,310 --> 00:03:12,910