1 00:00:00,000 --> 00:00:00,820 2 00:00:00,820 --> 00:00:02,560 >> Zamyla Chan: La oss sjekke kreditt. 3 00:00:02,560 --> 00:00:06,360 I denne oppgaven vil vi be brukeren for en inngang på et kredittkortnummer. 4 00:00:06,360 --> 00:00:10,090 Deretter kjører vi at kredittkortet nummeret for å se om den er gyldig. 5 00:00:10,090 --> 00:00:13,430 I så fall vil vi skrive ut firma som at kredittkortet tilhører. 6 00:00:13,430 --> 00:00:17,520 Ellers vil vi fortelle brukeren at dette kortet er ugyldig. 7 00:00:17,520 --> 00:00:20,210 >> La oss hoppe rett inn med ber for brukerundersøkelser. 8 00:00:20,210 --> 00:00:23,080 Kredittkortnummeret er av datatype long_long, 9 00:00:23,080 --> 00:00:27,190 så CS50 bibliotek funksjon get_long_long vil være ganske nyttig. 10 00:00:27,190 --> 00:00:30,690 Men denne funksjonen sikrer at brukeren innganger et heltall. 11 00:00:30,690 --> 00:00:34,730 Så noen positive heltall, negative heltall, eller null er alt i orden. 12 00:00:34,730 --> 00:00:37,560 Så opp til deg å videre validere hvorvidt 13 00:00:37,560 --> 00:00:41,770 brukeren har gitt oss et gyldig kredittkorttypenummer. 14 00:00:41,770 --> 00:00:44,560 >> Nå som vi har et kredittkort tall fra brukeren, så 15 00:00:44,560 --> 00:00:46,580 vi trenger å beregne sjekksummen. 16 00:00:46,580 --> 00:00:49,780 Så kredittkort summer beregnes som følger. 17 00:00:49,780 --> 00:00:54,370 Starter fra nest siste siffer, vi multipliserer alle andre tall for to. 18 00:00:54,370 --> 00:00:57,060 Deretter legger vi dem produktenes sifre sammen. 19 00:00:57,060 --> 00:01:00,140 Fra at vi legger til Summen av sifrene som 20 00:01:00,140 --> 00:01:03,780 ble ikke multiplisert med to til at forrige sum som vi beregnet. 21 00:01:03,780 --> 00:01:08,480 Til slutt, hvis det nummeret avsluttes i 0, så antallet er gyldig. 22 00:01:08,480 --> 00:01:11,760 >> La oss gå gjennom et eksempel og ta dette steg for steg. 23 00:01:11,760 --> 00:01:14,930 Så vår første trinnet er å starte Fra andre til siste siffer 24 00:01:14,930 --> 00:01:18,080 og multiplisere alle andre tall for to. 25 00:01:18,080 --> 00:01:22,240 Nå, hvis jeg lagret kredittkort nummer i en variabel kalt CC nummer, 26 00:01:22,240 --> 00:01:26,060 da modding at ved 10 ville gi meg det aller siste sifferet. 27 00:01:26,060 --> 00:01:28,910 Så hvordan kan du få tilgang til den andre til siste siffer? 28 00:01:28,910 --> 00:01:32,030 >> OK, så når vi har åpnet den nest siste siffer, 29 00:01:32,030 --> 00:01:35,790 så får vi iterere gjennom multiplisere alle andre tall for to. 30 00:01:35,790 --> 00:01:38,620 Når vi har det, så vi tar disse produktene 31 00:01:38,620 --> 00:01:41,350 og legge til disse produktenes sifre sammen. 32 00:01:41,350 --> 00:01:43,830 Så her har jeg singel sifre, så er det helt greit. 33 00:01:43,830 --> 00:01:47,480 Men så når jeg får min siste number-- 7 multiplisert med 2-- 34 00:01:47,480 --> 00:01:52,080 Jeg legger en og fire til å gi meg 27. 35 00:01:52,080 --> 00:01:55,980 Derfra vi legge til at product-- 27-- summen av sifrene som 36 00:01:55,980 --> 00:01:57,790 ble ikke multiplisert med to. 37 00:01:57,790 --> 00:02:01,070 >> Så her har jeg fremhevet alle av disse tallene i oransje. 38 00:02:01,070 --> 00:02:04,900 Når vi legger disse tallene, da vi får vår endelige checksum nummer. 39 00:02:04,900 --> 00:02:09,120 Så vi bekrefte det ved å gjøre sikker på at det siste sifferet er 0. 40 00:02:09,120 --> 00:02:12,635 Hvis sjekksummen ikke ender i 0, deretter kredittkortnummeret 41 00:02:12,635 --> 00:02:14,400 er definitivt ugyldig. 42 00:02:14,400 --> 00:02:17,840 Ellers, la oss gå videre til sjekk selskapet identifikatorer 43 00:02:17,840 --> 00:02:19,870 og kredittkortnummer lengde. 44 00:02:19,870 --> 00:02:21,830 >> Vi har laget en liste av tre selskaper, 45 00:02:21,830 --> 00:02:25,940 sammen med at, antallet heltall at deres kredittkortnumre har. 46 00:02:25,940 --> 00:02:29,630 Da de to første sifrene som disse kortene kan starte med. 47 00:02:29,630 --> 00:02:34,070 Så opp til deg å holde orden på to første sifrene i kredittkort 48 00:02:34,070 --> 00:02:37,620 og antallet heltall i dette kortet. 49 00:02:37,620 --> 00:02:40,110 Og med det, har du ferdig problemet. 50 00:02:40,110 --> 00:02:44,210 Mitt navn er Zamyla, og dette var Credit. 51 00:02:44,210 --> 00:02:45,859