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