#include <iostream> #include <string> using namespace std; int main() { int Hours; cout << "please enter number of hours worked"; cin >> Hours; switch (Hours) { case 1: Hours == 40; cout << "worked full time this week"; break; case 2: Hours <= 30; cout << "You worked less than 40 this week available shifts on board"; break; case 3: Hours > 30 && Hours < 40; cout << "You almost have 40 hrs check the board to see if shifts are available please do not go over 40 hrs"; break; default: cout << " invalid entry see you manager or try again"; } { return 0; }Hice algo mal, sinceramente, no entiendo realmente las declaraciones de cambio, así que solo hago algo bastante básico. Recibo un error de compilación cada vez que intento ejecutarlo. Quiero que el usuario ingrese cuántas horas trabajó y, en función de eso, muestre el mensaje. Sinceramente, creo que una declaración if/else sería mejor, pero quería usar una declaración switch para practicar un poco.
Esa no es la forma en que usas el switch
switch tomará el valor y lo comparará con todos los case . No puedes hacer más y menos usando switch .
Deberías usar if-else en su lugar:
if(Hours == 40) { std::cout << "worked full time this week"; } else if(Hours <= 30) { std::cout << "You worked less than 40 this week available shifts on board"; } else if(Hours > 30 && Hours < 40) { std::cout << "You almost have 40 hrs check the board to see if shifts are available please do not go over 40 hrs"; } else { std::cout << " invalid entry see you manager or try again"; }