I had tried to make a basic prime number checker using switch cases instead of if else statements, my if else statement version of the prime number checker had worked fine, but my switch case statement version of the function exits with a code = 3221225620. I'm very new to C++ and don't understand what the error code means or how to find the fault in my code.
#include <iostream>
void primeChecker(int x)
{
int i = 0;
bool k = false;
int divisors[8] = {2, 3, 4, 5, 6, 7, 8, 9};
while (i < sizeof(divisors))
{
switch (x)
{
case 1:
break;
case 2:
k = true;
break;
case 3:
k = true;
break;
case 4:
k = true;
break;
case 5:
k = true;
break;
case 6:
k = true;
break;
case 7:
k = true;
break;
case 8:
k = true;
break;
case 9:
k = true;
break;
default:
switch (x % divisors[i])
{
case 0:
break;
default:
k = true;
break;
}
}
++i;
}
switch (k)
{
case false:
std::cout << "The number " << x << " is not a prime number.\n";
case true:
std::cout << "The number " << x << " is a prime number.\n";
}
}
int main()
{
int i = 1;
while (i <= 100)
{
primeChecker(i);
++i;
}
}