Ejercicio C++, ayuda, uso de "Case"
Hola, tengo que hacer un ejercicio para la universidad, que introduciendole el mes y un año, me diga los dias de ese mes, hay q tener en cuenta si el año es bisiesto...todo eso ya está hecho, el problema está en que una vez compilado le meto el año y el dia y no hace nada, es como si entrase en switch pero no hace nada, si alguien me echase una mano, le estaria muy agradecido. A continuación pongo el codigo:
int main() { // Zona de Declaración de Variables del Programa principal unsigned int n; unsigned int m; cout << "Introduzca el numero de un mes y un ano cualquiera."; cout << '\n' << endl; cout << "Enero -> 1 Febrero -> 2" << endl; cout << "Marzo -> 3 Abril -> 4" << endl; cout << "Mayo -> 5 Junio -> 6" << endl; cout << "Julio -> 7 Agosto -> 8" << endl; cout << "Septiembre -> 9 Octubre -> 10" << endl; cout << "Noviembre -> 11 Diciembre -> 12" << endl; cout << '\n' << endl; cout << "Ano: "; cin >> n; cout << '\n' << endl; cout << "Mes: "; cin >> m; cout << '\n' << endl; iif ( n % 4 == 0 || n % 400 == 0) { switch (m) { case '1': case '3': case '5': case '7': case '8': case '10': case '12': cout << "El mes tiene 31 dias." << endl; cout << '\n' << endl; break; case '2': cout << "El mes tiene 29 dias." << endl; cout << '\n' << endl; break; case '4': case '6': case '9': case '11': cout << "El mes tiene 30 dias." << endl; cout << '\n' << endl; break; } } if ( n % 4 != 0 && n % 400 != 0) { switch (m) { case '1': case '3': case '5': case '7': case '8': case '10': case '12': cout << "El mes tiene 31 dias." << endl; cout << '\n' << endl; break; case '2': cout << "El mes tiene 28 dias." << endl; cout << '\n' << endl; break; case '4': case '6': case '9': case '11': cout << "El mes tiene 30 dias." << endl; cout << '\n' << endl; break; } } system("Pause"); // Hacer una pausa return 0; // Valor de retorno al S.O. |
Al final encontré el error, despues de case no se pone el valor entre comillas, jejeje. Bueno pongo el codigo corregido por si a alguien le interesa, y si lo compila, puede saber si el año en k nació era bisiesto...jajajaa...
unsigned int n; unsigned int m; cout << "Introduzca el numero de un mes y un ano cualquiera."; cout << '\n' << endl; cout << "Enero -> 1 Febrero -> 2" << endl; cout << "Marzo -> 3 Abril -> 4" << endl; cout << "Mayo -> 5 Junio -> 6" << endl; cout << "Julio -> 7 Agosto -> 8" << endl; cout << "Septiembre -> 9 Octubre -> 10" << endl; cout << "Noviembre -> 11 Diciembre -> 12" << endl; cout << '\n' << endl; cout << "Ano: "; cin >> n; cout << '\n' << endl; cout << "Mes: "; cin >> m; cout << '\n' << endl; if ( n % 4 == 0 || n % 400 == 0) { switch (m) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: cout << "Ese mes tiene 31 dias." << endl; cout << '\n' << endl; break; case 2: cout << "Ese mes tiene 29 dias." << endl; cout << '\n' << endl; break; case 4: case 6: case 9: case 11: cout << "Ese mes tiene 30 dias." << endl; cout << '\n' << endl; break; default: cout << "No conozco ese mes." << endl; cout << '\n' << endl; break; } } if ( n % 4 != 0 && n % 400 != 0) { switch (m) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: cout << "Ese mes tiene 31 dias." << endl; cout << '\n' << endl; break; case 2: cout << "Ese mes tiene 28 dias." << endl; cout << '\n' << endl; break; case 4: case 6: case 9: case 11: cout << "Ese mes tiene 30 dias." << endl; cout << '\n' << endl; break; default: cout << "No conozco ese mes." << endl; cout << '\n' << endl; break; } } system("Pause"); // Hacer una pausa return 0; // Valor de retorno al S.O. |
El código quedaría más elegante si le pones nombres más descriptivos a las variables.
Un saludo |
La franja horaria es GMT +2. Ahora son las 19:28. |
Powered por vBulletin™ Version 3.8.10
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.
Traducido por vBsoporte - vBulletin en español
ZackYFileS - Foros de Debate