View difference between Paste ID: AjGR1edc and h0ZK8Vn5
SHOW: | | - or go back to the newest paste.
1
#include <iostream>
2
#include <string>
3
using namespace std;
4
5
6
bool isValid(const string& cardNumber)
7
{
8
	if ((sumOfDoubleEvenPlace(cardNumber) + SumOfOddPlace(cardNumber)) % 10 != 0)
9
	{
10
		return false;
11
	}
12
13
/* Test for startsWith? */
14
/* test for length */
15
16
}
17
bool startsWith(const string& cardNumber, const string& substr)
18
{
19
	if (cardNumber[0] - '0' == 4 || cardNumber[0] - '0' == 5 || cardNumber[0] - '0' == 6 ||
20
		(cardNumber[0] - '0' == 3 && cardNumber[1] - '0' == 7))
21
/* Then do what? */
22
23
}
24
25
26
27
28
29
30
31
32
33
//-----------------------------------------------------------------------------------------------------------
34
int getDigit(int number)
35-
	if ((cardNumber[number] - '0') * 2 >= 10)
35+
36
	if ((cardNumber[number] - '0') * 2 >= 10)// Where is it getting cardNumber from? You didn't pass cardNumber in above
37
	{
38
		int A = (cardNumber[number] - '0') * 2 - 10;
39
		int B = ((cardNumber[number] - '0') * 2) / 10;
40
		number = A + B;
41
		return number;
42
	}
43
	else
44
	{
45
		number = cardNumber[number] - '0';
46
		return number;
47
	}
48
}
49
int sumOfDoubleEvenPlace(const string& cardNumber)
50
{
51
	int Even = 0;
52
	int number = 0;
53
	while (number < cardNumber.length())
54
	{
55
		if (number == 0 || number % 2 == 0)
56
		{
57
			Even = Even + getDigit(number);
58
		}
59
60
		number++;
61
	}
62
	return cardNumber = Even;
63
}
64
int SumOfOddPlace(const string& cardNumber)
65
{
66
	int Odd = 0;
67
	int number = 1;
68
	while (number < cardNumber.length())
69
	{
70
		if (number == 1 || number % 2 != 0)
71
		{
72
			Odd = Odd + getDigit(number);
73
		}
74
		number++;
75
	}
76
	return cardNumber = Odd;
77
}
78
int main()
79
{
80
	cout << " Enter a credit card # :";
81
	string cardNumber;
82
	getline(cin, cardNumber);
83
84
	if (isValid(cardNumber))
85
	{
86
		cout << cardNumber << " is a valid number \n";
87
	}
88
89
	else
90
	{
91
		cout << cardNumber << " is not a valid number \n";
92
	}
93
94
	return 0;
95
96
}