#include <stdio.h> #include <stdlib.h> #include <ctype.h> enum CardType{ MasterC
ID: 3638463 • Letter: #
Question
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
enum CardType{
MasterCard,
Visa,
AmericanExpress,
Discover,
};
bool Validate(cardType, String cardNumber)
{
int number[16], len=0;
for(int i=0; i<strlen(cardNumber); ++i){
cardNumber[i] = atoi(cardNumber[i]);
if(isdigit(cardNumber[i])){
if(len == 16) return false;
number[len++] = cardNumber[i];
}
}
switch(cardType){
case CardType.MasterCard:
if(len!=16) return false;
if(number[0] != 5 || number[1] == 0 || number[1] > 5)
return false;
break;
case CardType.Visa:
if(len != 16 && len != 13)
return false;
if(number[0] != 4)
return false;
break;
case CardType.AmericanExpress:
if(len != 15)
return false;
if(number[0] != 3 || (number[1] != 4 && number[1] != 7))
return false;
break;
case CardType.Discover:
if(len != 16)
return false;
if(number[0] != 6 || number[1] != 0 || number[2] != 1 || number[3] != 1)
return false;
break;
}
int sum = 0;
for(i=len-1; i>=0; ++i){
if(i % 2 == len % 2){
int n = number[i] * 2;
sum += (n / 10) + (n % 10);
}
else
sum += number[i];
}
return (sum % 10 == 0);
}
void valid(){
cout << "The credit card number is VALID !";
}
void invalid(){
cout << "The credit card number is INVALID !";
}
int main(){
system("cls");
string ccn, ct;
cout << "Enter the Card Type :";
cin >> ct;
cout << "Enter the Credit card Number :";
cin >> ccn;
CardType card = ct;
bool val = Validate(ct, ccn);
if (val == true) valid();
else invalid()
getch;
return 0;
}
having problems with syntax errors in card
Explanation / Answer
this is cpp program use using namespace std;
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.