>> Zamyla Чан: Давайте перевіримо ваш кредит.
У цьому завданні ми будемо пропонувати користувачеві для введення номера кредитної картки.
Тоді ми будемо запускати цю кредитну карту номер, щоб побачити, якщо він дійсний.
Якщо так, то ми будемо друкувати компанію що ця кредитна карта належить.
В іншому випадку, ми розповімо користувачеві що ця карта недійсна.
>> Давайте стрибати прямо в с спонукаючи для введення даних користувачем.
Номер кредитної картки типу даних long_long,
тому функція бібліотеки CS50 get_long_long буде вельми корисним.
Але ця функція гарантує, що користувач вводить будь-яке ціле число.
Тому будь-які цілі позитивні числа, негативні цілі числа, або нуль все в порядку.
Так що до вас, щоб далі перевірити чи ні
користувач дав нам дійсний кредитна карта тип номера.
>> Тепер, коли у нас є кредитна карта номер від користувача, а потім
нам потрібно обчислити контрольну суму.
Так кредитної картки контрольних сум розраховуються наступним чином.
Починаючи з другого по останній цифрі, ми множимо кожну іншу цифру 2.
Потім ми додамо ті продукти "цифри разом.
З цього ми додаємо сума цифр,
були помножені на 2, щоб що попередня сума, яку ми розрахували.
І, нарешті, якщо це число закінчується в 0, то число є дійсним.
>> Давайте розглянемо приклад і зробити цей крок за кроком.
Таким чином, наш перший крок, щоб почати від другого до останньої цифри
і помножити кожну іншу цифру на два.
Тепер, якщо я зберіг кредитну карту число у змінній називається номером CC,
то моддінг, що на 10 буде дайте мені саму останню цифру.
Отже, як ви могли б отримати доступ до другий до останньої цифри?
>> ОК, так що, як тільки ми зверталися другий за останньою цифрою,
тоді ми будемо перебирати множачи кожну іншу цифру 2.
Після того, як ми маємо це, то ми будемо приймати ці продукти
і додати цифри цих продуктів 'разом.
Так ось у мене є сингл цифри, так що це нормально.
Але тоді, як тільки я отримую мій останній number-- 7 помножити на 2--
Я додати 1 і 4, щоб дати мені 27.
Звідти, ми додамо, що продукт-- 27-- до суми цифр,
Більше не говоріть на 2.
>> Так ось я виділив все з цих чисел в помаранчевий колір.
Після того, як ми додамо ці цифри, то ми отримуємо наше остаточне число контрольних сум.
Таким чином, ми стверджуємо його, зробивши Переконайтеся, що остання цифра 0.
Якщо контрольна сума не закінчується 0, то номер кредитної картки
безумовно недійсним.
В іншому випадку, давайте перейдемо до перевірити ідентифікатори компанії
і кредитні карти довжина номера.
>> Ми надали список з трьох компаній,
поряд з цим, кількість цілих чисел що їх номери кредитних карт є.
Тоді перші дві цифри, які ці карти могли б почати з.
Так що до вас, щоб стежити з Перші дві цифри номера кредитної картки
і кількість цілих чисел в цій карті.
І з цим, у Вас є закінчив проблему.
Мене звуть Zamyla, і це був кредит.