1 00:00:00,000 --> 00:00:00,820 2 00:00:00,820 --> 00:00:02,560 >> Zamyla Chan: Við skulum athuga kredit. 3 00:00:02,560 --> 00:00:06,360 Í þessu vandamáli, munum við hvetja notandann fyrir inntak kreditkortanúmer. 4 00:00:06,360 --> 00:00:10,090 Þá munum við keyra þessi kreditkort númer til að sjá hvort það er í gildi. 5 00:00:10,090 --> 00:00:13,430 Ef svo er, munum við prenta félagið sem að greiðslukort tilheyrir. 6 00:00:13,430 --> 00:00:17,520 Annars munum við segja notanda sem að kortið er ógilt. 7 00:00:17,520 --> 00:00:20,210 >> Við skulum hoppa rétt inn með vekur fyrir notandi inntak. 8 00:00:20,210 --> 00:00:23,080 Kortanúmerið er gagna gerð long_long, 9 00:00:23,080 --> 00:00:27,190 svo CS50 bókasafn virka get_long_long verður alveg gagnlegur. 10 00:00:27,190 --> 00:00:30,690 En þessi aðgerð er tryggt að notandi inntak hvaða tölu. 11 00:00:30,690 --> 00:00:34,730 Svo allir jákvæðar heiltölur, neikvæð heiltölur, eða núll er allt í lagi. 12 00:00:34,730 --> 00:00:37,560 Svo er komið að þér að frekar sannprófa hvort 13 00:00:37,560 --> 00:00:41,770 notandinn hefur gefið okkur gild kreditkortanúmer gerð númer. 14 00:00:41,770 --> 00:00:44,560 >> Nú þegar við höfum kreditkort númer frá notanda, þá 15 00:00:44,560 --> 00:00:46,580 við þurfum að reikna stöðva. 16 00:00:46,580 --> 00:00:49,780 Svo kreditkorti checksums er reiknuð á eftirfarandi. 17 00:00:49,780 --> 00:00:54,370 Byrjun frá sekúndu til síðasta tölustaf, við margföldum annað hvert tölustaf af 2. 18 00:00:54,370 --> 00:00:57,060 Þá erum við að bæta þá Tölunum vörur "saman. 19 00:00:57,060 --> 00:01:00,140 Frá því að við bæta Summa tölustafa sem 20 00:01:00,140 --> 00:01:03,780 voru ekki margfaldað með 2 til að fyrri summu sem við reiknað. 21 00:01:03,780 --> 00:01:08,480 Að lokum, ef þessi tala endar í 0, þá er talan gilt. 22 00:01:08,480 --> 00:01:11,760 >> Við skulum fara í gegnum dæmi og taka þetta skref fyrir skref. 23 00:01:11,760 --> 00:01:14,930 Svo er fyrsta skref okkar til að byrja frá sekúndu til síðasta tölustaf 24 00:01:14,930 --> 00:01:18,080 og margfalda annað hvert tölustaf með tveimur. 25 00:01:18,080 --> 00:01:22,240 Nú, ef ég geymt greiðslukort Fjöldi í breytu sem heitir CC númer, 26 00:01:22,240 --> 00:01:26,060 þá modding að um 10 myndi gefa mér mjög síðasta tölustafnum. 27 00:01:26,060 --> 00:01:28,910 Svo hvernig er hægt að nálgast annað til síðasta tölustaf? 28 00:01:28,910 --> 00:01:32,030 >> OK, þannig að þegar við höfum aðgang annað að síðasta tölustaf, 29 00:01:32,030 --> 00:01:35,790 þá munum við iterate gegnum margfalda annað hvert tölustaf af 2. 30 00:01:35,790 --> 00:01:38,620 Þegar við höfum það, þá við munum taka þessar vörur 31 00:01:38,620 --> 00:01:41,350 og bæta tölustafi þær vörur 'saman. 32 00:01:41,350 --> 00:01:43,830 Svo hér er ég með einn tölunum, þannig er það í lagi. 33 00:01:43,830 --> 00:01:47,480 En þá þegar ég fæ að síðasta mín number-- 7 margfaldað með 2-- 34 00:01:47,480 --> 00:01:52,080 Ég bæta 1 og 4 til að gefa mér 27. 35 00:01:52,080 --> 00:01:55,980 Þaðan, bæta við að product-- 27-- til summu tölustafa sem 36 00:01:55,980 --> 00:01:57,790 voru ekki margfaldað með 2. 37 00:01:57,790 --> 00:02:01,070 >> Svo hér er ég hef hápunktur alla þær tölur í appelsínu. 38 00:02:01,070 --> 00:02:04,900 Þegar við bætum þeim tölustafir, þá fáum við endanlega stöðva númer okkar. 39 00:02:04,900 --> 00:02:09,120 Þannig að við að staðfesta það með því að gera viss um að síðasta talan er 0. 40 00:02:09,120 --> 00:02:12,635 Ef stöðva endar ekki í 0, þá kortanúmerið 41 00:02:12,635 --> 00:02:14,400 er örugglega ógilt. 42 00:02:14,400 --> 00:02:17,840 Annars skulum fara að athuga fyrirtæki kennimerki 43 00:02:17,840 --> 00:02:19,870 og kreditkortanúmer lengd. 44 00:02:19,870 --> 00:02:21,830 >> Við höfum veitt lista af þremur fyrirtækjum, 45 00:02:21,830 --> 00:02:25,940 Ásamt því, fjölda heiltalna sem kreditkortanúmer þeirra hafa. 46 00:02:25,940 --> 00:02:29,630 Þá fyrstu tveir tölustafir sem þessir spil gæti byrjað með. 47 00:02:29,630 --> 00:02:34,070 Svo er komið að þér að halda utan um Fyrstu tveir stafirnir kreditkortinu 48 00:02:34,070 --> 00:02:37,620 og fjöldi heiltölur á það kort. 49 00:02:37,620 --> 00:02:40,110 Og með það, hefur þú lauk vandann. 50 00:02:40,110 --> 00:02:44,210 Mitt nafn er Zamyla, og þetta var Credit. 51 00:02:44,210 --> 00:02:45,859