Ver Mensaje Individual
  #2 (permalink)  
Antiguo 12/10/2014, 09:19
eferion
 
Fecha de Ingreso: octubre-2014
Ubicación: Madrid
Mensajes: 1.212
Antigüedad: 8 años, 2 meses
Puntos: 204
Respuesta: Introducir mes y mostrar numero dias en C

Para indicar el número de días que tiene un mes antes tienes que identificar el mes en cuestión. Para ello necesitas comparar el mes introducido por el usuario con una lista de meses... si no el trabajo se torna complicado:

Código C:
Ver original
  1. int i;
  2. char *meses[12] = { "enero", "febrero", ..., "diciembre"};
  3. char mes[12];
  4.  
  5. printf("Introduzca el nombre del mes: ");
  6. scanf("%s", mes);
  7.  
  8. for ( i=0; i<12; i++)
  9. {
  10.   if ( strcmp( mes, meses) == 0 )
  11.     break;
  12. }
  13.  
  14. if ( i == 12 )
  15. {
  16.   // El mes introducido es incorrecto
  17. }
  18. else
  19. {
  20.   // El mes introducido es el mes i+1
  21. }

Una vez identificado el mes en cuestión ya si puedes ir al array de días para indicar al usuario el número de días que tiene el mes. Claro está, el array de días hay que declararlo de forma correcta:

Código C:
Ver original
  1. int dias_meses[12] = {31,28,31,30,31,30,31,31,30,31,30,31};
  2.  
  3. // ...
  4. else
  5. {
  6.   printf("Mes %s tiene %d dias.", mes, dias_meses[ i ] );
  7. }

Un saludo.