Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Credit card numbers follow certain patterns. A credit card number must have between 13 and 16 digits. It must start with: 4 for Visa

Credit card numbers follow certain patterns. A credit card number must have between 13 and 16 digits. It must start with:

■ 4 for Visa cards

■ 5 for Master cards

■ 37 for American Express cards

■ 6 for Discover cards

In 1954, Hans Luhn of IBM proposed an algorithm for validating credit card numbers. The algorithm is useful to determine whether a card number is entered correctly or whether a credit card is scanned correctly by a scanner. Credit card numbers are generated following this validity check, commonly known as the Luhn check or the Mod 10 check, which can be described as follows:

a. Double every second digit from right to left. If doubling of a digit results in a two-digit number, add up the two digits to get a single-digit number.

b. Now add all single-digit numbers from Step a.
c. Add all digits in the odd places from right to left in the card number.
d. Sum the results from Step b and Step c.

e. If the result from Step d is divisible by 10, the card number is valid; otherwise, it is invalid. For example, the number 4388576018402626 is invalid, but the number 4388576018410707 is valid. Write a program that prompts the user to enter a credit card number as a long integer. Display whether the number is valid or invalid. Design your program to use the following methods:

// Return true if the card number is valid

bool isValid(const string& cardNumber)

// Get the result from Step 2

int sumOfDoubleEvenPlace(const string& cardNumber)

// Return this number if it is a single digit, otherwise,

// return the sum of the two digits

int getDigit(int number)

// Return sum of odd-place digits in the card number

int sumOfOddPlace(const string& cardNumber)

// Return true if substr is the prefix for cardNumber

bool startsWith(const string& cardNumber, const string& substr)

Here are sample runs of the program:

Enter a credit card number without any space: 4388576018410707

4388576018410707 is valid

Step by Step Solution

3.41 Rating (160 Votes )

There are 3 Steps involved in it

Step: 1

C program to check if a given credit card is valid or not using System class CreditCard Main Method ... blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Business Law Text and Cases

Authors: Kenneth W. Clarkson, Roger LeRoy Miller, Gaylord A. Jentz, F

11th Edition

324655223, 978-0324655223

More Books

Students also viewed these Programming questions