1 00:00:00,000 --> 00:00:00,820 2 00:00:00,820 --> 00:00:02,560 >> Zamyla Chan: Pojďme zkontrolovat svůj kredit. 3 00:00:02,560 --> 00:00:06,360 V tomto problému budeme vyzve uživatele pro vstup číslo kreditní karty. 4 00:00:06,360 --> 00:00:10,090 Pak budeme provozovat tuto kreditní kartu Číslo aby zjistil, jestli je to platné. 5 00:00:10,090 --> 00:00:13,430 Pokud ano, budeme tisknout společnost že kreditní karta patří. 6 00:00:13,430 --> 00:00:17,520 V opačném případě budeme říkat uživateli že tato karta je neplatná. 7 00:00:17,520 --> 00:00:20,210 >> Pojďme skok právo se dotazování pro vstup uživatele. 8 00:00:20,210 --> 00:00:23,080 Číslo kreditní karty je datového typu long_long, 9 00:00:23,080 --> 00:00:27,190 takže funkce CS50 knihovny get_long_long bude velmi užitečné. 10 00:00:27,190 --> 00:00:30,690 Ale tato funkce zajišťuje, že uživatel zadá libovolné celé číslo. 11 00:00:30,690 --> 00:00:34,730 Takže jakékoli pozitivní celá čísla, záporná celá čísla, nebo nula je vše v pořádku. 12 00:00:34,730 --> 00:00:37,560 Takže až vás k dalšímu ověřit, zda 13 00:00:37,560 --> 00:00:41,770 Uživatel nám dal platné kreditní karty typu číslo. 14 00:00:41,770 --> 00:00:44,560 >> Nyní, když máme kreditní kartu číslo od uživatele, poté 15 00:00:44,560 --> 00:00:46,580 musíme počítat kontrolní součet. 16 00:00:46,580 --> 00:00:49,780 Takže kontrolních součtů kreditních karet se vypočte následujícím způsobem. 17 00:00:49,780 --> 00:00:54,370 Od druhého do poslední číslice, násobíme každou druhou číslici 2. 18 00:00:54,370 --> 00:00:57,060 Pak přidáme ty, Číslice výrobky "dohromady. 19 00:00:57,060 --> 00:01:00,140 Z toho přidáme součet číslic, které 20 00:01:00,140 --> 00:01:03,780 nebyly násobí 2, které předchozí částka, která jsme vypočítali. 21 00:01:03,780 --> 00:01:08,480 A konečně, je-li toto číslo končí v 0, pak číslo je platné. 22 00:01:08,480 --> 00:01:11,760 >> Projděme si příklad a tento krok za krokem. 23 00:01:11,760 --> 00:01:14,930 Takže naším prvním krokem je začít z druhé až poslední číslice 24 00:01:14,930 --> 00:01:18,080 a množte se každý další číslici dvěma. 25 00:01:18,080 --> 00:01:22,240 Teď, když jsem uložen kreditní karty číslo v řadě CC proměnné nazvané, 26 00:01:22,240 --> 00:01:26,060 pak modding, že by 10 dej mi úplně poslední číslici. 27 00:01:26,060 --> 00:01:28,910 Tak jak můžete přistupovat druhá na poslední číslici? 28 00:01:28,910 --> 00:01:32,030 >> OK, takže jakmile jsme se přistupovat druhá na poslední číslici, 29 00:01:32,030 --> 00:01:35,790 pak budeme iterovat vynásobením každý druhý číslici 2. 30 00:01:35,790 --> 00:01:38,620 Jakmile budeme mít, pak vezmeme tyto produkty 31 00:01:38,620 --> 00:01:41,350 a přidejte číslice pro tyto výrobky "dohromady. 32 00:01:41,350 --> 00:01:43,830 Tak tady mám single číslice, takže je to v pořádku. 33 00:01:43,830 --> 00:01:47,480 Ale jakmile se dostanu na můj poslední number-- 7 násobí 2-- 34 00:01:47,480 --> 00:01:52,080 I přidejte 1 a 4, aby mi 27. 35 00:01:52,080 --> 00:01:55,980 Odtamtud, přidáme že product-- 27-- k součtu číslic, které 36 00:01:55,980 --> 00:01:57,790 nebyly násobí 2. 37 00:01:57,790 --> 00:02:01,070 >> Tak tady jsem se zvýrazní všechny z těch čísel v oranžové barvě. 38 00:02:01,070 --> 00:02:04,900 Jakmile přidáme tyto číslice, poté dostaneme naše konečné číslo kontrolního součtu. 39 00:02:04,900 --> 00:02:09,120 Tak jsme potvrdit to tím, že jisti, že poslední číslice je 0. 40 00:02:09,120 --> 00:02:12,635 V případě, že kontrolní součet nekončí 0, pak je číslo kreditní karty 41 00:02:12,635 --> 00:02:14,400 je rozhodně neplatná. 42 00:02:14,400 --> 00:02:17,840 V opačném případě, pojďme na zkontrolovat identifikátory společnosti 43 00:02:17,840 --> 00:02:19,870 a kreditní karty délka čísla. 44 00:02:19,870 --> 00:02:21,830 >> Připravili jsme seznam ze tří společností, 45 00:02:21,830 --> 00:02:25,940 spolu s tím, že počet celých čísel že jejich čísla kreditních karet mají. 46 00:02:25,940 --> 00:02:29,630 Pak první dvě číslice, které tyto karty mohly začít. 47 00:02:29,630 --> 00:02:34,070 Takže na vás sledovat z První dvě číslice kreditní karty 48 00:02:34,070 --> 00:02:37,620 a počet celých čísel v této kartě. 49 00:02:37,620 --> 00:02:40,110 A s tím, vy jste dokončil problém. 50 00:02:40,110 --> 00:02:44,210 Jmenuji se Zamyla, a to bylo Credit. 51 00:02:44,210 --> 00:02:45,859