Guest User

Untitled

a guest
May 26th, 2015
243
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.63 KB | None | 0 0
  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.  
  14.  
  15. }
  16. bool startsWith(const string& cardNumber, const string& substr)
  17. {
  18.     if (cardNumber[0] - '0' == 4 || cardNumber[0] - '0' == 5 || cardNumber[0] - '0' == 6 ||
  19.         (cardNumber[0] - '0' == 3 && cardNumber[1] - '0' == 7))
  20.  
  21.  
  22. }
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32. //-----------------------------------------------------------------------------------------------------------
  33. int getDigit(int number)
  34. {
  35.     if ((cardNumber[number] - '0') * 2 >= 10)
  36.     {
  37.         int A = (cardNumber[number] - '0') * 2 - 10;
  38.         int B = ((cardNumber[number] - '0') * 2) / 10;
  39.         number = A + B;
  40.         return number;
  41.     }
  42.     else
  43.     {
  44.         number = cardNumber[number] - '0';
  45.         return number;
  46.     }
  47. }
  48. int sumOfDoubleEvenPlace(const string& cardNumber)
  49. {
  50.     int Even = 0;
  51.     int number = 0;
  52.     while (number < cardNumber.length())
  53.     {
  54.         if (number == 0 || number % 2 == 0)
  55.         {
  56.             Even = Even + getDigit(number);
  57.         }
  58.  
  59.         number++;
  60.     }
  61.     return cardNumber = Even;
  62. }
  63. int SumOfOddPlace(const string& cardNumber)
  64. {
  65.     int Odd = 0;
  66.     int number = 1;
  67.     while (number < cardNumber.length())
  68.     {
  69.         if (number == 1 || number % 2 != 0)
  70.         {
  71.             Odd = Odd + getDigit(number);
  72.         }
  73.         number++;
  74.     }
  75.     return cardNumber = Odd;
  76. }
  77. int main()
  78. {
  79.     cout << " Enter a credit card # :";
  80.     string cardNumber;
  81.     getline(cin, cardNumber);
  82.  
  83.     if (isValid(cardNumber))
  84.     {
  85.         cout << cardNumber << " is a valid number \n";
  86.     }
  87.  
  88.     else
  89.     {
  90.         cout << cardNumber << " is not a valid number \n";
  91.     }
  92.  
  93.     return 0;
  94.  
  95. }
Advertisement
Add Comment
Please, Sign In to add comment