static Random rng = new Random();
public static void Main()
digits[i] = rng.Next(0, 10);
static string MenuLoop(string userInput)
userInput = Console.ReadLine();
if (userInput.ToLower() = "validate")
static int GenerateCCNumber(int[] digits)
for (int i = 0; i < digits.Length; i++)
static void ProgramIntroduction()
Console.WriteLine("program is a credit card number validator and generator, enter your credit card number");
static string GetCreditCardNumber()
Console.WriteLine("Credit Card Validator and Generator");
return Console.ReadLine();
static void ValidateCCNumber(string number)
int[] digits = new int[number.Length];
for (int i = 0; i < digits.Length; i++)
if (int.TryParse(number.Substring(i, 1), out digits[i]) == false)
int sum = CalculateLuhnSum(digits);
if (ValidateLuhnSum(sum) == true)
Console.WriteLine("Valid");
Console.WriteLine("InValid");
static int CalculateLuhnSum(int[] digits)
for (int i = digits.Length - 2; i >= 0; i = i - 2)
digits[i] = digits[i] * 2;
digits[i] = digits[i] - 9;
for (int i = 0; i < digits.Length; i++)
static bool ValidateLuhnSum(int luhnSum)
static void BeginCCValidation()
string ccNumber = GetCreditCardNumber();
ValidateCCNumber(ccNumber);