>> Zamyla צ'אן: בואו לבדוק את האשראי שלך.
בבעיה זו, נצטרך להציג למשתמש עבור הזנה של מספר כרטיס אשראי.
אז אנחנו נפעיל שכרטיס האשראי מספר כדי לראות אם זה חוקי.
אם כן, אנו נדפיס החברה כי כרטיס האשראי שייך.
אחרת, אנחנו נגיד המשתמש כי כרטיס זה אינו חוקי.
>> בואו לקפוץ ישר פנימה עם הצגת בקשת קלט משתמש.
מספר כרטיס האשראי הוא של long_long סוג הנתונים,
אז פונקצית ספריית CS50 get_long_long יהיה שימושי למדי.
אבל פונקציה זו מבטיחה המשתמש תשומות כל מספר שלם.
אז כל מספרים שלמים חיוביים, שלילי מספרים שלמים, או אפס הוא הכל בסדר.
אז תלוי בך כדי נוספים לאמת אם לאו
המשתמש נתן לנו תקף מספר סוג כרטיס אשראי.
>> עכשיו שיש לנו כרטיס אשראי מספר מהמשתמש, ואז
אנחנו צריכים לחשב את הבדיקה.
אז checksums כרטיס אשראי מחושבים כדלקמן.
החל מ השני כדי הספרה האחרונה, נכפיל כל ספרה שנייה על ידי 2.
אז נוסיף אלה מוצרים "ספרות יחד.
מאותו תוסיפו את סכום הספרות כי
לא הוכפל ב 2 לזה הסכום קודם כי חשבנו.
לבסוף, אם מספר המסתיים ב 0, ולאחר מכן את המספר תקף.
>> בואו נעבור דוגמא ולקחת את זה צעד אחר צעד.
אז הצעד הראשון שלנו הוא להתחיל מהקומה השנייה עד הספרה האחרונה
ולהתרבות כל ספרה שנייה על ידי שתי.
עכשיו, אם אני מאוחסן בכרטיס האשראי מספר מספר CC נקרא משתנה,
אז modding שעד 10 היה תן לי את הספרה האחרונה מאוד.
אז כיצד ניתן לגשת השני הספרה האחרונה?
>> אוקיי, אז ברגע שאנחנו כבר נצפינו השני הספרה האחרונה,
אז נצטרך לחזר דרך הכפלה כל ספרה שנייה על ידי 2.
ברגע שיש לנו את זה, אז ניקח אותם מוצרים
ולהוסיף ספרות "מוצרים אלה יחד.
אז הנה יש לי אחת ספרות, אז זה בסדר.
אבל אז ברגע שאגיע שלי האחרון number-- 7 מוכפל 2--
אני מוסיף את 1 ו -4 לתת לי 27.
משם, נוסיף כי product-- 27-- לסכום של ספרות
לא הוכפל ב 2.
>> אז הנה הדגשתי כל של המספרים האלה בכתום.
ברגע שאנו להוסיף הספרות האלה, אז אנחנו מקבלים מספר הבדיקה הסופי שלנו.
אז אנחנו לאמת אותו על ידי ביצוע בטוח כי הספרה האחרונה היא 0.
אם הבדיקה אינה מסתיימת ב 0, ולאחר מכן את מספר כרטיס האשראי
בהחלט אינו חוקי.
אחרת, בואו נלך על מנת לבדוק את זיהה החברה
ואת אורך מספר כרטיס אשראי.
>> צירפנו רשימה של שלוש חברות,
יחד עם זאת, המספר של מספרים שלמים יש כי מספרי כרטיסי האשראי שלהם.
ואז שתי הספרות הראשונות כי כרטיסים אלה עשויים להתחיל עם.
אז תלוי בך כדי לעקוב אחר שתי הספרות הראשונות של כרטיס האשראי
ומספר מספרי שלמי כרטיס זה.
ועם זה, יש לך סיים את הבעיה.
שמי Zamyla, וזה היה אשראי.