-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathCredit Card.c
75 lines (74 loc) · 1.66 KB
/
Credit Card.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
#include<stdio.h>
int main()
{
long cno, cn;
int cs = 0, c = 0;
printf("Enter Card No:");
scanf("%ld",&cno);
cn = cno;
while (cn)
{
++c;
cn = cn / 10;
}
if (c == 13 || c == 15 || c== 16)
{
cn = cno;
while (cn)
{
int i = (cn % 100) / 10;
i = i * 2;
while (i)
{
int j = i % 10;
cs += j;
i = i / 10;
}
cn = cn / 100;
}
cn = cno;
while (cn)
{
int i=cn%10;
cs+=i;
cn=cn/100;
}
cn=cno;
if(cs%10==0)
{
if(c==13)
{
for(int k=0;k<12;++k)
cn=cn/10;
if(cn==4)
printf("VISA\n");
else printf("INVALID\n");
}
else if(c==15)
{
for(int k=0;k<13;++k)
cn=cn/10;
if(cn==34||cn==37)
printf("AMEX\n");
else printf("INVALID\n");
}
else if(c==16)
{
for(int k=0;k<14;++k)
cn=cn/10;
if(cn==51||cn==52||cn==53||cn==54||cn==55)
printf("MASTERCARD\n");
else
{
cn=cn/10;
if(cn==4)
printf("VISA\n");
else printf("INVALID\n");
}
}
}
else printf("INVALID\n");
}
else printf("INVALID\n");
return 0;
}