public static void Main()
Console.Write("Welcome to the Math Quiz Application! \n-------------------------------------\nWhat mode would you like to play? \n\n [1] -> Pratice Mode \n [2] -> Game Mode \n [3] -> Exit Game \n\nYour selection: ");
if(int.TryParse(Console.ReadLine(), out mode))
Random r1 = new Random();
int num1 = r1.Next(0,101);
Random r2 = new Random();
int num2 = r2.Next(0,101);
Random r3 = new Random();
int num3 = r3.Next(0,13);
Random r4 = new Random();
int num4 = r4.Next(0,13);
Console.Write("\nWhat type of math questions do you want to practice? \n\n[1] -> Addition\n[2] -> Subtraction\n[3] -> Multiplication\n[4] -> Division\nYour selection: ");
int ppt = Convert.ToInt32(Console.ReadLine());
Console.Write("\nHow many practice problems do you want: ");
int npp = Convert.ToInt32(Console.ReadLine());
for (int i = 0; i < npp; i++)
int answer1 = num1 + num2;
Console.Write($"\n{num1} + {num2}: ");
int userA1 = Convert.ToInt32(Console.ReadLine());
Console.Write("Correct answer\n");
Console.Write("Incorrect answer\n");
Console.Write($"Running Score: {counterR}/{i + 1}\n");
Console.Write($"\nFinal Score: {counterR}/{npp}");
Console.Write($"\nQuestions answered correctly: {counterR}");
Console.Write($"\nQuestions answered incorrectly: {counterW}");
for (int i = 0; i < npp; i++)
int answer2 = num1 - num2;
Console.Write($"\n{num1} - {num2}: ");
int userA2 = Convert.ToInt32(Console.ReadLine());
Console.Write("Correct answer\n");
Console.Write("Incorrect answer\n");
Console.Write($"Running Score: {counterR}/{i + 1}\n");
Console.Write($"\nFinal Score: {counterR}/{npp}");
Console.Write($"\nQuestions answered correctly: {counterR}");
Console.Write($"\nQuestions answered incorrectly: {counterW}");
for (int i = 0; i < npp; i++)
int answer3 = num3 * num4;
Console.Write($"\n{num3} * {num4}: ");
int userA3 = Convert.ToInt32(Console.ReadLine());
Console.Write("Correct answer\n");
Console.Write("Incorrect answer\n");
Console.Write($"Running Score: {counterR}/{i + 1}\n");
Console.Write($"\nFinal Score: {counterR}/{npp}");
Console.Write($"\nQuestions answered correctly: {counterR}");
Console.Write($"\nQuestions answered incorrectly: {counterW}");
for (int i = 0; i < npp; i++)
int answer3 = num3 / num4;
Console.Write($"\n{num3} / {num4}: ");
int userA3 = Convert.ToInt32(Console.ReadLine());
Console.Write("Correct answer\n");
Console.Write("Incorrect answer\n");
Console.Write($"Running Score: {counterR}/{i + 1}\n");
Console.Write($"\nFinal Score: {counterR}/{npp}");
Console.Write($"\nQuestions answered correctly: {counterR}");
Console.Write($"\nQuestions answered incorrectly: {counterW}");
Random r1A = new Random();
int num1A = r1A.Next(0,101);
Random r2A = new Random();
int num2A = r2A.Next(0,101);
Random r3A = new Random();
int num3A = r3A.Next(1,13);
Random r4A = new Random();
int num4A = r4A.Next(1,13);
Console.Write("\nChoose your level \n\n[1] -> Easy\n[2] -> Medium\n[3] -> Hard\n\nYour selection: ");
int mpl = Convert.ToInt32(Console.ReadLine());
for (int i = 0; i < 5; i++)
int answerA = num1A + num2A;
Console.Write($"\nQuestion {i+1}: {num1A} + {num2A}: ");
int userA = Convert.ToInt32(Console.ReadLine());
Console.Write("Correct answer\n");
Console.Write("Incorrect answer\n");
for (int j = 0; j < 5; j++)
int answerS = num1A - num2A;
Console.Write($"\nQuestion {j+6}: {num1A} - {num2A}: ");
int userS = Convert.ToInt32(Console.ReadLine());
Console.Write("Correct answer\n");
Console.Write("Incorrect answer\n");
Console.Write($"\nFinal Score: {counterRA}/10 \nYou answered 10 questions.");
double percent = Convert.ToDouble(counterRA / 10);
Console.Write($"\nYou scored {percent}%.");
for (int i = 0; i < 5; i++)
int answerM = num3A * num4A;
Console.Write($"\nQuestion {i+1}: {num3A} * {num4A}: ");
int userM = Convert.ToInt32(Console.ReadLine());
Console.Write("Correct answer\n");
Console.Write("Incorrect answer\n");
for (int j = 0; j < 5; j++)
int answerD = num3A / num4A;
Console.Write($"\nQuestion {j+6}: {num3A} / {num4A}: ");
int userD = Convert.ToInt32(Console.ReadLine());
Console.Write("Correct answer\n");
Console.Write("Incorrect answer\n");
Console.Write($"\nYou answered 10 questions.\nFinal Score: {counterRA}/10 ");
double percent = Convert.ToDouble(counterRA / 10);
Console.Write($"\nYou scored {percent}%.");
for (int i = 0; i < 4; i++)
int answerA = num1A + num2A;
Console.Write($"\nQuestion {i+1}: {num3A} + {num4A}: ");
int userA = Convert.ToInt32(Console.ReadLine());
Console.Write("Correct answer\n");
Console.Write("Incorrect answer\n");
for (int j = 0; j < 2; j++)
int answerS = num1A - num2A;
Console.Write($"\nQuestion {j+5}: {num1A} - {num2A}: ");
int userS = Convert.ToInt32(Console.ReadLine());
Console.Write("Correct answer\n");
Console.Write("Incorrect answer\n");
for (int k = 0; k < 2; k++)
int answerM = num3A * num4A;
Console.Write($"\nQuestion {k+7}: {num3A} * {num4A}: ");
int userM = Convert.ToInt32(Console.ReadLine());
Console.Write("Correct answer\n");
Console.Write("Incorrect answer\n");
for (int l = 0; l < 2; l++)
int answerD = num3A / num4A;
Console.Write($"\nQuestion {l+9}: {num3A} / {num4A}: ");
int userD = Convert.ToInt32(Console.ReadLine());
Console.Write("Correct answer\n");
Console.Write("Incorrect answer\n");
Console.Write($"\n Thank you for participating in the Math Quiz! \nYou answered 10 questions.\nFinal Score: {counterRA}/10 ");
double percent = Convert.ToDouble(counterRA / 10);
Console.Write($"\nYou scored {percent}%.");
Console.Write("\nYou have exited the program. Press the 'Run' button to play again.");
Console.Write("Incorrect input. \n\n");
Console.WriteLine("Please re-run program and re-enter a valid integer.");