1 00:00:00,000 --> 00:00:00,820 2 00:00:00,820 --> 00:00:02,560 >> Zamyla Чан: Давайте перевіримо ваш кредит. 3 00:00:02,560 --> 00:00:06,360 У цьому завданні ми будемо пропонувати користувачеві для введення номера кредитної картки. 4 00:00:06,360 --> 00:00:10,090 Тоді ми будемо запускати цю кредитну карту номер, щоб побачити, якщо він дійсний. 5 00:00:10,090 --> 00:00:13,430 Якщо так, то ми будемо друкувати компанію що ця кредитна карта належить. 6 00:00:13,430 --> 00:00:17,520 В іншому випадку, ми розповімо користувачеві що ця карта недійсна. 7 00:00:17,520 --> 00:00:20,210 >> Давайте стрибати прямо в с спонукаючи для введення даних користувачем. 8 00:00:20,210 --> 00:00:23,080 Номер кредитної картки типу даних long_long, 9 00:00:23,080 --> 00:00:27,190 тому функція бібліотеки CS50 get_long_long буде вельми корисним. 10 00:00:27,190 --> 00:00:30,690 Але ця функція гарантує, що користувач вводить будь-яке ціле число. 11 00:00:30,690 --> 00:00:34,730 Тому будь-які цілі позитивні числа, негативні цілі числа, або нуль все в порядку. 12 00:00:34,730 --> 00:00:37,560 Так що до вас, щоб далі перевірити чи ні 13 00:00:37,560 --> 00:00:41,770 користувач дав нам дійсний кредитна карта тип номера. 14 00:00:41,770 --> 00:00:44,560 >> Тепер, коли у нас є кредитна карта номер від користувача, а потім 15 00:00:44,560 --> 00:00:46,580 нам потрібно обчислити контрольну суму. 16 00:00:46,580 --> 00:00:49,780 Так кредитної картки контрольних сум розраховуються наступним чином. 17 00:00:49,780 --> 00:00:54,370 Починаючи з другого по останній цифрі, ми множимо кожну іншу цифру 2. 18 00:00:54,370 --> 00:00:57,060 Потім ми додамо ті продукти "цифри разом. 19 00:00:57,060 --> 00:01:00,140 З цього ми додаємо сума цифр, 20 00:01:00,140 --> 00:01:03,780 були помножені на 2, щоб що попередня сума, яку ми розрахували. 21 00:01:03,780 --> 00:01:08,480 І, нарешті, якщо це число закінчується в 0, то число є дійсним. 22 00:01:08,480 --> 00:01:11,760 >> Давайте розглянемо приклад і зробити цей крок за кроком. 23 00:01:11,760 --> 00:01:14,930 Таким чином, наш перший крок, щоб почати від другого до останньої цифри 24 00:01:14,930 --> 00:01:18,080 і помножити кожну іншу цифру на два. 25 00:01:18,080 --> 00:01:22,240 Тепер, якщо я зберіг кредитну карту число у змінній називається номером CC, 26 00:01:22,240 --> 00:01:26,060 то моддінг, що на 10 буде дайте мені саму останню цифру. 27 00:01:26,060 --> 00:01:28,910 Отже, як ви могли б отримати доступ до другий до останньої цифри? 28 00:01:28,910 --> 00:01:32,030 >> ОК, так що, як тільки ми зверталися другий за останньою цифрою, 29 00:01:32,030 --> 00:01:35,790 тоді ми будемо перебирати множачи кожну іншу цифру 2. 30 00:01:35,790 --> 00:01:38,620 Після того, як ми маємо це, то ми будемо приймати ці продукти 31 00:01:38,620 --> 00:01:41,350 і додати цифри цих продуктів 'разом. 32 00:01:41,350 --> 00:01:43,830 Так ось у мене є сингл цифри, так що це нормально. 33 00:01:43,830 --> 00:01:47,480 Але тоді, як тільки я отримую мій останній number-- 7 помножити на 2-- 34 00:01:47,480 --> 00:01:52,080 Я додати 1 і 4, щоб дати мені 27. 35 00:01:52,080 --> 00:01:55,980 Звідти, ми додамо, що продукт-- 27-- до суми цифр, 36 00:01:55,980 --> 00:01:57,790 Більше не говоріть на 2. 37 00:01:57,790 --> 00:02:01,070 >> Так ось я виділив все з цих чисел в помаранчевий колір. 38 00:02:01,070 --> 00:02:04,900 Після того, як ми додамо ці цифри, то ми отримуємо наше остаточне число контрольних сум. 39 00:02:04,900 --> 00:02:09,120 Таким чином, ми стверджуємо його, зробивши Переконайтеся, що остання цифра 0. 40 00:02:09,120 --> 00:02:12,635 Якщо контрольна сума не закінчується 0, то номер кредитної картки 41 00:02:12,635 --> 00:02:14,400 безумовно недійсним. 42 00:02:14,400 --> 00:02:17,840 В іншому випадку, давайте перейдемо до перевірити ідентифікатори компанії 43 00:02:17,840 --> 00:02:19,870 і кредитні карти довжина номера. 44 00:02:19,870 --> 00:02:21,830 >> Ми надали список з трьох компаній, 45 00:02:21,830 --> 00:02:25,940 поряд з цим, кількість цілих чисел що їх номери кредитних карт є. 46 00:02:25,940 --> 00:02:29,630 Тоді перші дві цифри, які ці карти могли б почати з. 47 00:02:29,630 --> 00:02:34,070 Так що до вас, щоб стежити з Перші дві цифри номера кредитної картки 48 00:02:34,070 --> 00:02:37,620 і кількість цілих чисел в цій карті. 49 00:02:37,620 --> 00:02:40,110 І з цим, у Вас є закінчив проблему. 50 00:02:40,110 --> 00:02:44,210 Мене звуть Zamyla, і це був кредит. 51 00:02:44,210 --> 00:02:45,859