[ Foro de C++ ]

case label does not reduce to an integer constant

07-May-2021 19:56
Invitado (Tonyi21)
1 Respuestas

este código lo que quiero es me responda a la función de case con incisos (a,b,c,d,e), pero al parecer no se pueden ingresar las letras y que me haga el proceso

/*Calculadora*/
cout << "teclear a para hacer suma, b para restar, c para multiplicar, d para dividir, e para el residuo" << endl;
cin >> x;

switch (x)
{
case "a":
r = n1+n2;
cout << "el resultado de la suma es " << r << endl;
break;
case "b":
r = n1-n2;
cout << "el resultado de la resta es " << r << endl;
break;
case "c":
r = n1*n2;
cout << "el resultado de la multiplicacion es " << r << endl;
break;
case "d":
r = n1/n2;
cout << "el resultado de la divicion es " << r << endl;
break;
case "e":
r = n1%n2;
cout << "el resultado del residuo es " << r << endl;
break;
default:
cout << "ese valor no esta en la escala" << endl;
}
return 0;
}


08-May-2021 20:57
Nacho Cabanes (+83)

El mensaje es claro : en los "case" debe haber números o algo que se pueda convertir a un número (un único carácter entre comillas simples), y tú tienes cadenas de texto, entre comillas dobles.






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)