1 00:00:00,000 --> 00:00:00,440 2 00:00:00,440 --> 00:00:03,440 >> SPEAKER 1: V poslední době jsme analyzovali celá čísla, připomenout, že jsme použili některé 3 00:00:03,440 --> 00:00:07,810 Booleovské výrazy zkontrolovat, zda uživatel je vstup n je mezi čísly 4 00:00:07,810 --> 00:00:11,580 jako 0 a 3, 4 a 7 a 8 a 10. 5 00:00:11,580 --> 00:00:14,990 No, my jsme, že používáte-li to a jinde pokud je, ale ukázalo se můžete 6 00:00:14,990 --> 00:00:17,990 realizovat, že stejnou logiku pomocí jiná programová konstrukce 7 00:00:17,990 --> 00:00:21,400 dohromady a přitom dosáhnout přesně stejný výsledek. 8 00:00:21,400 --> 00:00:25,000 Ve skutečnosti, můžeme představit něco tzv. přepínač, který nám umožňuje 9 00:00:25,000 --> 00:00:28,660 přepnout naše chování v závislosti na hodnoty nějaké proměnné. 10 00:00:28,660 --> 00:00:29,840 >> Pojďme dát to zkusit. 11 00:00:29,840 --> 00:00:35,730 Chcete-li to provést, budu první bude zahrnovat CS50 knihovny prostřednictvím cs50.h. 12 00:00:35,730 --> 00:00:39,960 Jsem také bude obsahovat standardní knihovna prostřednictvím standardních I / O.h. 13 00:00:39,960 --> 00:00:44,540 A budu deklarovat hlavní v Obvyklý způsob, int main prázdnotu. 14 00:00:44,540 --> 00:00:45,650 Otevřete složená závorka. 15 00:00:45,650 --> 00:00:47,100 Zavřete složená závorka. 16 00:00:47,100 --> 00:00:49,720 A teď jdu se zeptat uživatel na celé číslo. 17 00:00:49,720 --> 00:00:56,990 >> Printf, dej mi int mezi 1 a 10. 18 00:00:56,990 --> 00:00:59,310 A teď jdu dostat že int pomocí CS50 19 00:00:59,310 --> 00:01:01,590 knihovny fungují, vezmi_int. 20 00:01:01,590 --> 00:01:06,140 Int, nazvěme jej n, se rovná vezmi_int. 21 00:01:06,140 --> 00:01:08,500 A teď jdu dělat něco analýzy o tom celé číslo. 22 00:01:08,500 --> 00:01:13,120 Poněkud libovolně, ale s tím Nový konstrukt známý jako přepínač. 23 00:01:13,120 --> 00:01:16,530 Zapněte hodnoty n jak následuje. 24 00:01:16,530 --> 00:01:23,240 >> V případě, že n se rovná 1, nebo v případě, že n se rovná 2, nebo v případě, 25 00:01:23,240 --> 00:01:28,150 že n se rovná 3, jděte do toho a provést tento řádek kódu. 26 00:01:28,150 --> 00:01:34,480 Printf jste si vybral malou int, přestávku. 27 00:01:34,480 --> 00:01:37,610 Teď jsem třeba provést odpovídající z ELT jednoduché, 28 00:01:37,610 --> 00:01:40,990 vyjmenovává některé další případy. 29 00:01:40,990 --> 00:01:47,180 >> V případě, že n se rovná 4, nebo případě, že n se rovná 5, nebo v případě, 30 00:01:47,180 --> 00:01:53,830 že n se rovná 6, nebo v případě, že n se rovná 7, jděte do toho a vytisknout vás 31 00:01:53,830 --> 00:01:58,000 vybral střední Int. 32 00:01:58,000 --> 00:01:59,490 Přestávka. 33 00:01:59,490 --> 00:02:02,300 Nyní, v případě, že uživatel vybral velký počet, pojďme 34 00:02:02,300 --> 00:02:04,940 zjistit, že takto. 35 00:02:04,940 --> 00:02:08,900 >> V případě, že uživatel vybral osm nebo v případě, že uživatel vyzvednout 36 00:02:08,900 --> 00:02:14,110 devět, nebo v případě, že uživatel vyzvednout 10, jděte do toho a vytisknout vás 37 00:02:14,110 --> 00:02:17,830 vybral velkou Int. 38 00:02:17,830 --> 00:02:19,180 Přestávka. 39 00:02:19,180 --> 00:02:23,970 ELT, pokud uživatel neměl vybrat číslo která spadá do některé z těchto 10 případů 40 00:02:23,970 --> 00:02:25,520 pojďme se trochu výchozí chování. 41 00:02:25,520 --> 00:02:27,870 Což v tomto případě bude vypadat takto. 42 00:02:27,870 --> 00:02:32,860 >> Default, printf, jste si vybral neplatný Int. 43 00:02:32,860 --> 00:02:36,100 44 00:02:36,100 --> 00:02:38,220 Přestávka. 45 00:02:38,220 --> 00:02:42,870 Teď, když jsem tento soubor uložit kompilace to s make spínač. 46 00:02:42,870 --> 00:02:44,870 Spusťte jej. Lomítkem spínačem. 47 00:02:44,870 --> 00:02:46,770 Pojďme udělat pár zdravého rozumu kontrol. 48 00:02:46,770 --> 00:02:48,440 Vyberu Int od 1. 49 00:02:48,440 --> 00:02:50,110 A ID vybral malou int. 50 00:02:50,110 --> 00:02:52,240 >> Pojďme teď dělat. Lomítko přepínač. 51 00:02:52,240 --> 00:02:54,514 A zadejte řekněme, negativní 1. 52 00:02:54,514 --> 00:02:56,900 A ID vybral neplatný int. 53 00:02:56,900 --> 00:02:59,560 Na konci dne, přepínač postavit neumožňuje dělat 54 00:02:59,560 --> 00:03:03,320 něco, co byste mohli ještě udělat s známější, pokud else if, 55 00:03:03,320 --> 00:03:04,530 jinde postavit. 56 00:03:04,530 --> 00:03:07,470 Ale pokud máte konečný seznam hodnot že jste kontrolu, 57 00:03:07,470 --> 00:03:09,820 Příkaz switch může být velmi tak, aby váš kód 58 00:03:09,820 --> 00:03:11,310 explicitní nebo více čitelné. 59 00:03:11,310 --> 00:03:12,910