Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <string.h>
- #include <math.h>
- #include <cs50.h>
- int main(void)
- {
- long number1 = get_long("Number: ");
- long number2 = number1;
- long length = 0;
- while (number1 > 0)
- {
- number1 = number1 / 10;
- length++;
- }
- long long j;
- long number[length];
- for (j = 0; j < length; j++)
- {
- number[j] = number2 % 10;
- number2 = number2 / 10;
- }
- long long length1 = 0;
- for (j = 1; j < length; j = j + 2)
- {
- if (number[j] >= 0)
- {
- length1++;
- }
- }
- long cs[length1];
- long long jj = 0;
- for (j = 1; j < length; j = j + 2)
- {
- cs[jj] = number[j] * 2;
- jj++;
- }
- int checksum1 = 0;
- for (j = 0; j < length1; j++)
- {
- if (cs[j] >= 10)
- {
- checksum1 = checksum1 + cs[j] % 10;
- checksum1 = checksum1 + cs[j] / 10;
- }
- else
- {
- checksum1 = checksum1 + cs[j];
- }
- }
- for (j = 0; j < length; j = j + 2)
- {
- checksum1 = checksum1 + number[j];
- }
- checksum1 = checksum1 % 10;
- if (checksum1 != 0)
- {
- printf("INVALID\n");
- }
- else if (checksum1 == 0)
- {
- if (length == 13)
- {
- if (number[12] == 4)
- {
- printf("VISA\n");
- }
- else
- {
- printf("INVALID\n");
- }
- }
- else if (length == 15)
- {
- if (number[14] == 3 && number[13] == 4)
- {
- printf("AMEX\n");
- }
- else if (number[14] == 3 && number[13] == 7)
- {
- printf("AMEX\n");
- }
- else
- {
- printf("INVALID\n");
- }
- }
- else if (length == 16)
- {
- if (number[15] == 4)
- {
- printf("VISA\n");
- }
- else if (number[15] == 5 && number[14] == 1)
- {
- printf("MASTERCARD\n");
- }
- else if (number[15] == 5 && number[14] == 2)
- {
- printf("MASTERCARD\n");
- }
- else if (number[15] == 5 && number[14] == 3)
- {
- printf("MASTERCARD\n");
- }
- else if (number[15] == 5 && number[14] == 4)
- {
- printf("MASTERCARD\n");
- }
- else if (number[15] == 5 && number[14] == 5)
- {
- printf("MASTERCARD\n");
- }
- else
- {
- printf("INVALID\n");
- }
- }
- else
- {
- printf("INVALID\n");
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement