Soy nuevo en C ++ y estoy atascado en la declaración de cambio porque no parece dar una salida cuando el valor entre paréntesis es un número entero (Console-Program terminó con el código de salida: 0). Aunque, el mismo código funciona bien cuando cambio el tipo a char. Gracias.
int main() { int num1; // argument of switch statement must be a char or int or enum cout<< "enter either 0 or 1" << "\n"; cin>> num1; switch (num1) { case '0': cout<< "you entered 0" << endl << endl; break; case '1': cout<< "you entered 1" << endl << endl; break; } }Está activando un int , lo cual es correcto, pero sus casos no son números enteros, son char ya que están rodeados por ' .
'0' nunca es igual a 0, ni '1' nunca es igual a 1.
Cambie los valores de mayúsculas y minúsculas a números enteros.
int main() { int num1; cout<< "enter either 0 or 1" << "\n"; cin>> num1; switch (num1) { case 0: cout<< "you entered 0" << endl << endl; break; case 1: cout<< "you entered 1" << endl << endl; break; } }int main() { int num1; // argument of switch statement must be a char or int or enum cout<< "enter either 0 or 1" << "\n"; cin>> num1; switch (num1) { case 0: cout<< "you entered 0" << endl << endl; break; case 1: cout<< "you entered 1" << endl << endl; break; } }