Ver las NORMAS de estos Foros Web ZackYFileS Chat ZackYFileS Agregar a Favoritos Contactar con Administrador
 
 

TU PUBLICIDAD AQUÍ!!
Navegación
Retroceder   Foros ZackYFileS >
OTROS TEMAS DE INTERES - INTERNET:
> PROGRAMACIÓN Lenguajes: Visual Basic, C++, etc
Nombre de usuario
Contraseña
Configuración de UsuarioAyuda (FAQs)Nuevos PostsBuscar


Respuesta
 
Herramientas
Antiguo 03/12/2005, 18:08   #1
Snake12
Usuario Activo
 
Avatar de Snake12
 
Fecha de ingreso: 07/mar/2003
Mensajes: 118
Snake12 está en el buen camino
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.

Última edición por Snake12; 03/12/2005 a las 18:24.
Snake12 está desconectado
Respuesta rápida a este mensaje
Responder Citando Subir
Publicidad: Conoce las ofertas de ANUNCIATE
Antiguo 03/12/2005, 18:42   #2
Snake12
Usuario Activo
 
Avatar de Snake12
 
Fecha de ingreso: 07/mar/2003
Mensajes: 118
Snake12 está en el buen camino
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.
Snake12 está desconectado
Respuesta rápida a este mensaje
Responder Citando Subir
Antiguo 03/12/2005, 20:51   #3
Efirenet
Usuario Activo
 
Avatar de Efirenet
 
Fecha de ingreso: 06/dic/2004
Mensajes: 84
Efirenet llegará a ser famoso muy pronto
El código quedaría más elegante si le pones nombres más descriptivos a las variables.

Un saludo
Efirenet está desconectado
Respuesta rápida a este mensaje
Responder Citando Subir
Publicidad: Conoce las ofertas de ANUNCIATE
Respuesta


Usuarios viendo actualmente este tema: 1 (0 usuarios registrados y 1 visitantes)
 

Permisos para publicar mensajes
No puedes crear nuevos temas
No puedes responder mensajes
No puedes subir archivos adjuntos
No puedes editar tus mensajes

Los BB code están Activado
Los Emoticones están Activado
El código [IMG] está Activado
El Código HTML está Desactivado

Ir al foro

Temas similares
Tema Autor Foro Resp. Último mensaje
NECESITO MUCHA AYUDA pcpp Philips DSI175x 10 12/11/2005 11:56
AYUDA COMO INSTALAR 2 PARABOLICAS A UN DECO pampi-27 ANTENAS SAT: Instalación y Orientación 4 10/11/2005 15:04


!! ADVERTENCIAS !!: Las informaciones aquí publicadas NO CONTIENEN KEYS para la decodificación de ningún sistema: NO SON OPERATIVOS en sistemas SAT que precisen de su correspondiente suscripción.

ESTA TOTALMENTE PROHIBIDO EL USO DE ESTAS INFORMACIONES PARA LA MODIFICACIÓN O  DEFRAUDACIÓN DE SISTEMAS DE ACCESO CONDICIONAL.

ESTOS FOROS SON MODERADOS Y NO SE PERMITE LA PUBLICACIÓN DE INFORMACIONES ILEGALES POR PARTE DE LOS USUARIOS. EN CASO DE DETECTARSE ESTE TIPO DE INFORMACIONES, LOS USUARIOS SERÁN EXCLUIDOS DE ESTAS PÁGINAS.

USO DE COOKIES: Utilizamos COOKIES y de terceros para mejorar nuestros servicios y navegación por la web. Si continua navegando, consideramos que acepta su uso.  


La franja horaria es GMT +2. Ahora son las 00:18.


-------------------------------------------------------------------- --------------------------------------------------------------------

Powered por vBulletin™ Version 3.8.10
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.
Traducido por vBsoporte - vBulletin en español
Hispaservicios - J.G.C - 29112549T - Rio Cinca, 2, 30 (50180) SPAIN.
Todos los derechos reservados. Prohibida cualquier reproducion total o parcial.


Foros Patrocinados por anunciantes.