>> Zamyla Chan: Låt oss kolla din kredit.
I detta problem, kommer vi att uppmana användaren för en ingång på ett kreditkortsnummer.
Sedan ska vi köra det kreditkort nummer för att se om det är giltigt.
Om så är fallet kommer vi att skriva företaget att det kreditkort tillhör.
Annars kommer vi tala om för användaren att det kortet är ogiltigt.
>> Låt oss hoppa rätt in med fråga efter användarens input.
Kreditkortsnummer är av datatypen long_long,
så CS50 biblioteksfunktion get_long_long kommer att vara ganska användbar.
Men denna funktion gör att matar användaren in ett godtyckligt heltal.
Så några positiva heltal, negativ heltal, eller noll är allt bra.
Så upp till dig att ytterligare bekräfta huruvida
användaren har gett oss ett giltigt typnummer kreditkort.
>> Nu när vi har ett kreditkort tal från användaren, sedan
vi behöver beräkna kontrollsumman.
Så kreditkortskontrollsummor beräknas enligt följande.
Från och med den näst sista siffran, vi multiplicera varannan siffra med 2.
Då kan vi lägga till dem produkternas siffror tillsammans.
Från att vi lägger till summan av siffrorna som
var inte multipliceras med två till att föregående summa som vi beräknat.
Slutligen, om detta nummer slutar i 0, då är giltigt.
>> Låt oss gå igenom ett exempel och ta detta steg för steg.
Så vår första steg är att starta från näst sista siffran
och multiplicera varannan siffra med två.
Nu, om jag lagrat kreditkort nummer i en variabel som kallas CC-numret,
då modding att genom 10 skulle ge mig den allra sista siffran.
Så hur kan du komma den näst sista siffran?
>> OK, så när vi har tillgång till den näst sista siffran,
då vi kommer att iterera igenom multiplicera varannan siffra med 2.
När vi har det, då vi tar dessa produkter
och lägga till dessa produkters siffror tillsammans.
Så här har jag singel siffror, så det är bra.
Men sedan när jag får min sista number-- 7 multiplicerad med 2--
Jag lägger till en och 4 för att ge mig 27.
Därifrån lägger vi att product-- 27-- till summan av de siffror som
inte multiplicerat med två.
>> Så här har jag markerat alla av dessa siffror i orange.
När vi lägger dessa siffror, då vi får vår sista kontrollsumma nummer.
Så vi bekräfta det genom att göra säker på att den sista siffran är 0.
Om kontrollsumman inte slutar med 0, då kreditkortsnumret
är definitivt ogiltig.
Annars, låt oss gå vidare till Kontrollera företagets identifierare
och kreditkortsnummer längd.
>> Vi har lämnat en förteckning av tre företag,
tillsammans med det, antalet heltal att deras kreditkortsnummer har.
Då de två första siffrorna som dessa kort kan börja med.
Så upp till dig att hålla koll på två första siffrorna i kreditkortet
och antalet heltal i det kortet.
Och med det, du har avslutade problemet.
Mitt namn är Zamyla, och detta var kredit.