>> Zamyla Chan: Pojďme zkontrolovat svůj kredit.
V tomto problému budeme vyzve uživatele pro vstup číslo kreditní karty.
Pak budeme provozovat tuto kreditní kartu Číslo aby zjistil, jestli je to platné.
Pokud ano, budeme tisknout společnost že kreditní karta patří.
V opačném případě budeme říkat uživateli že tato karta je neplatná.
>> Pojďme skok právo se dotazování pro vstup uživatele.
Číslo kreditní karty je datového typu long_long,
takže funkce CS50 knihovny get_long_long bude velmi užitečné.
Ale tato funkce zajišťuje, že uživatel zadá libovolné celé číslo.
Takže jakékoli pozitivní celá čísla, záporná celá čísla, nebo nula je vše v pořádku.
Takže až vás k dalšímu ověřit, zda
Uživatel nám dal platné kreditní karty typu číslo.
>> Nyní, když máme kreditní kartu číslo od uživatele, poté
musíme počítat kontrolní součet.
Takže kontrolních součtů kreditních karet se vypočte následujícím způsobem.
Od druhého do poslední číslice, násobíme každou druhou číslici 2.
Pak přidáme ty, Číslice výrobky "dohromady.
Z toho přidáme součet číslic, které
nebyly násobí 2, které předchozí částka, která jsme vypočítali.
A konečně, je-li toto číslo končí v 0, pak číslo je platné.
>> Projděme si příklad a tento krok za krokem.
Takže naším prvním krokem je začít z druhé až poslední číslice
a množte se každý další číslici dvěma.
Teď, když jsem uložen kreditní karty číslo v řadě CC proměnné nazvané,
pak modding, že by 10 dej mi úplně poslední číslici.
Tak jak můžete přistupovat druhá na poslední číslici?
>> OK, takže jakmile jsme se přistupovat druhá na poslední číslici,
pak budeme iterovat vynásobením každý druhý číslici 2.
Jakmile budeme mít, pak vezmeme tyto produkty
a přidejte číslice pro tyto výrobky "dohromady.
Tak tady mám single číslice, takže je to v pořádku.
Ale jakmile se dostanu na můj poslední number-- 7 násobí 2--
I přidejte 1 a 4, aby mi 27.
Odtamtud, přidáme že product-- 27-- k součtu číslic, které
nebyly násobí 2.
>> Tak tady jsem se zvýrazní všechny z těch čísel v oranžové barvě.
Jakmile přidáme tyto číslice, poté dostaneme naše konečné číslo kontrolního součtu.
Tak jsme potvrdit to tím, že jisti, že poslední číslice je 0.
V případě, že kontrolní součet nekončí 0, pak je číslo kreditní karty
je rozhodně neplatná.
V opačném případě, pojďme na zkontrolovat identifikátory společnosti
a kreditní karty délka čísla.
>> Připravili jsme seznam ze tří společností,
spolu s tím, že počet celých čísel že jejich čísla kreditních karet mají.
Pak první dvě číslice, které tyto karty mohly začít.
Takže na vás sledovat z První dvě číslice kreditní karty
a počet celých čísel v této kartě.
A s tím, vy jste dokončil problém.
Jmenuji se Zamyla, a to bylo Credit.