1 00:00:00,000 --> 00:00:00,820 2 00:00:00,820 --> 00:00:02,560 >> Zamyla Kubilas: Leiskite patikrinti savo kredito. 3 00:00:02,560 --> 00:00:06,360 Be šią problemą, mes raginimas vartotojui už iš kredito kortelės numerį įėjimo. 4 00:00:06,360 --> 00:00:10,090 Tada mes paleisti tą kreditinę kortelę numeris pamatyti, jei ji galioja. 5 00:00:10,090 --> 00:00:13,430 Jei taip, mes spausdinti įmonę kad kreditinės kortelės priklauso. 6 00:00:13,430 --> 00:00:17,520 Priešingu atveju, mes pranešti vartotojui kad kortelė yra negaliojanti. 7 00:00:17,520 --> 00:00:20,210 >> Leiskite pereiti teisę su raginimo už naudotojo įvesties. 8 00:00:20,210 --> 00:00:23,080 Kredito kortelės numeris Duomenų tipas long_long, 9 00:00:23,080 --> 00:00:27,190 todėl CS50 biblioteka funkcija get_long_long bus gana naudinga. 10 00:00:27,190 --> 00:00:30,690 Tačiau ši funkcija užtikrina, kad vartotojas įveda bet koks sveikasis skaičius. 11 00:00:30,690 --> 00:00:34,730 Taigi bet kokie teigiami sveikieji skaičiai, neigiamas sveikieji skaičiai, arba nulis yra viskas gerai. 12 00:00:34,730 --> 00:00:37,560 Taigi iki jums toliau patikrintų, ar ne 13 00:00:37,560 --> 00:00:41,770 vartotojas davė mums galiojanti kreditinės kortelės tipo numeris. 14 00:00:41,770 --> 00:00:44,560 >> Dabar, mes turime kredito kortelės numeris nuo vartotojo, tada 15 00:00:44,560 --> 00:00:46,580 turime apskaičiuoti kontrolinė. 16 00:00:46,580 --> 00:00:49,780 Taigi kredito kortelių kontrolinės yra apskaičiuojamas taip. 17 00:00:49,780 --> 00:00:54,370 Pradedant nuo sekundės iki paskutinio skaitmens, mes daugintis kas antrą skaitmenį po 2. 18 00:00:54,370 --> 00:00:57,060 Tada mes pridėti tiems, produktai "skaitmenys kartu. 19 00:00:57,060 --> 00:01:00,140 Nuo to mes pridėti suma skaitmenimis, kad 20 00:01:00,140 --> 00:01:03,780 nebuvo, padauginta iš 2 į tą Ankstesnis suma, kad mes apskaičiuotas. 21 00:01:03,780 --> 00:01:08,480 Galiausiai, jei šis skaičius baigiasi į 0, tada numeris galioja. 22 00:01:08,480 --> 00:01:11,760 >> Vykime kaip pavyzdys ir imtis šio žingsnio po žingsnio. 23 00:01:11,760 --> 00:01:14,930 Todėl mūsų pirmas žingsnis yra pradėti nuo antrojo iki paskutinio skaitmens 24 00:01:14,930 --> 00:01:18,080 ir daugintis kas antrą skaitmenį iš dviejų. 25 00:01:18,080 --> 00:01:22,240 Dabar, jeigu aš saugomi kredito kortelę numeris kintamu vadinamas CC skaičius, 26 00:01:22,240 --> 00:01:26,060 tada modding kad 10 būtų man labai paskutinis skaitmuo. 27 00:01:26,060 --> 00:01:28,910 Taigi, kaip gali jums prieigą antroji paskutinio skaitmens? 28 00:01:28,910 --> 00:01:32,030 >> Gerai, kad kai mes atvertas antroji paskutinio skaitmens, 29 00:01:32,030 --> 00:01:35,790 tada mes pakartoti per dauginant kiekvieną kitą skaitmenį po 2. 30 00:01:35,790 --> 00:01:38,620 Kai mes turime, kad tada mes priimsime šiuos produktus 31 00:01:38,620 --> 00:01:41,350 ir pridėti tuos produktus skaitmenis kartu. 32 00:01:41,350 --> 00:01:43,830 Taigi čia aš turiu vieną skaitmenų, kad viskas gerai. 33 00:01:43,830 --> 00:01:47,480 Bet tada, kai gaunu mano paskutinis number-- 7 dauginama iš 2-- 34 00:01:47,480 --> 00:01:52,080 Aš pridėti 1 ir 4 man 27. 35 00:01:52,080 --> 00:01:55,980 Iš ten, mes pridėti, kad product-- 27-- prie skaitmenų suma, kad 36 00:01:55,980 --> 00:01:57,790 nebuvo, padaugintas iš 2. 37 00:01:57,790 --> 00:02:01,070 >> Taigi čia aš pabrėžė visi tų skaičių oranžinės spalvos. 38 00:02:01,070 --> 00:02:04,900 Kai mes pridėti tuos skaitmenis, tada mes gauti mūsų galutinį kontrolinė skaičių. 39 00:02:04,900 --> 00:02:09,120 Taigi, mes patvirtinti jį priimant Įsitikinkite, kad paskutinis skaitmuo yra 0. 40 00:02:09,120 --> 00:02:12,635 Jei kontrolinė nesibaigia 0, tada kredito kortelės numeris 41 00:02:12,635 --> 00:02:14,400 yra tikrai neteisingas. 42 00:02:14,400 --> 00:02:17,840 Priešingu atveju, eikime į patikrinti įmonės identifikatorius 43 00:02:17,840 --> 00:02:19,870 ir kredito kortelės numeris ilgio. 44 00:02:19,870 --> 00:02:21,830 >> Mes pateikėme sąrašą iš trijų įmonių, 45 00:02:21,830 --> 00:02:25,940 kartu su tuo, kad sveikieji skaičiai, skaičius kad jų kredito kortelių numerius turi. 46 00:02:25,940 --> 00:02:29,630 Tada pirmieji du skaitmenys kad tie kortelės gali pradėti. 47 00:02:29,630 --> 00:02:34,070 Taigi iki jums sekti Pirmieji du skaitmenys kreditine kortele 48 00:02:34,070 --> 00:02:37,620 ir sveikieji tos kortelės numerį. 49 00:02:37,620 --> 00:02:40,110 Ir su tuo, jūs baigė problemą. 50 00:02:40,110 --> 00:02:44,210 Mano vardas Zamyla, ir tai buvo kreditą. 51 00:02:44,210 --> 00:02:45,859