Advertisement
Donald_Fortier

Untitled

May 26th, 2015
241
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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. {
  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. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement