Advertisement
eduardoaemunoz

Credit.c

Jan 21st, 2020
235
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.81 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <math.h>
  4. #include <cs50.h>
  5.  
  6. int main(void)
  7. {
  8.  
  9.     long number1 = get_long("Number: ");
  10.     long number2 = number1;
  11.  
  12.     long length = 0;
  13.     while (number1 > 0)
  14.     {
  15.         number1 = number1 / 10;
  16.         length++;
  17.     }
  18.  
  19.     long long j;
  20.     long number[length];
  21.     for (j = 0; j < length; j++)
  22.     {
  23.         number[j] = number2 % 10;
  24.         number2 = number2 / 10;
  25.     }
  26.  
  27.     long long length1 = 0;
  28.     for (j = 1; j < length; j = j + 2)
  29.     {
  30.         if (number[j] >= 0)
  31.         {
  32.             length1++;
  33.         }
  34.     }
  35.  
  36.     long cs[length1];
  37.     long long jj = 0;
  38.     for (j = 1; j < length; j = j + 2)
  39.     {
  40.         cs[jj] = number[j] * 2;
  41.         jj++;
  42.     }
  43.  
  44.     int checksum1 = 0;
  45.     for (j = 0; j < length1; j++)
  46.     {
  47.         if (cs[j] >= 10)
  48.         {
  49.             checksum1 = checksum1 + cs[j] % 10;
  50.             checksum1 = checksum1 + cs[j] / 10;
  51.         }
  52.         else
  53.         {
  54.             checksum1 = checksum1 + cs[j];
  55.         }
  56.     }
  57.  
  58.     for (j = 0; j < length; j = j + 2)
  59.     {
  60.         checksum1 = checksum1 + number[j];
  61.     }
  62.  
  63.     checksum1 = checksum1 % 10;
  64.  
  65.     if (checksum1 != 0)
  66.     {
  67.         printf("INVALID\n");
  68.     }
  69.     else if (checksum1 == 0)
  70.     {
  71.         if (length == 13)
  72.         {
  73.             if (number[12] == 4)
  74.             {
  75.                 printf("VISA\n");
  76.             }
  77.             else
  78.             {
  79.                 printf("INVALID\n");
  80.             }
  81.         }
  82.         else if (length == 15)
  83.         {
  84.             if (number[14] == 3 && number[13] == 4)
  85.             {
  86.                 printf("AMEX\n");
  87.             }
  88.             else if (number[14] == 3 && number[13] == 7)
  89.             {
  90.                 printf("AMEX\n");
  91.             }
  92.             else
  93.             {
  94.                 printf("INVALID\n");
  95.             }
  96.         }
  97.         else if (length == 16)
  98.         {
  99.             if (number[15] == 4)
  100.             {
  101.                 printf("VISA\n");
  102.             }
  103.             else if (number[15] == 5 && number[14] == 1)
  104.             {
  105.                 printf("MASTERCARD\n");
  106.             }
  107.             else if (number[15] == 5 && number[14] == 2)
  108.             {
  109.                 printf("MASTERCARD\n");
  110.             }
  111.             else if (number[15] == 5 && number[14] == 3)
  112.             {
  113.                 printf("MASTERCARD\n");
  114.             }
  115.             else if (number[15] == 5 && number[14] == 4)
  116.             {
  117.                 printf("MASTERCARD\n");
  118.             }
  119.             else if (number[15] == 5 && number[14] == 5)
  120.             {
  121.                 printf("MASTERCARD\n");
  122.             }
  123.             else
  124.             {
  125.                 printf("INVALID\n");
  126.             }
  127.         }
  128.         else
  129.         {
  130.             printf("INVALID\n");
  131.         }
  132.     }
  133.  
  134. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement