Tema: Dias y Años
Ver Mensaje Individual
  #1 (permalink)  
Antiguo 31/10/2010, 08:19
manaciano
 
Fecha de Ingreso: mayo-2010
Mensajes: 2
Antigüedad: 14 años
Puntos: 0
Dias y Años

Hola.
Quería consultar si alguien sabe cómo puedo en C, dado un día del año ingresado por el usuario, decir a qué mes corresponde.
Inicialmente, se me ocurrió hacer un if evaluando del 0-31, del 32-60, etc.
No encuentro otra forma de optimizar el código sin necesidad de evaluar tantas condiciones.

PD: En este caso no se consideran los años bisiestos.

Este sería el código que implementé, por las dudas:

#include<stdio.h>
#include<stdlib.h>
#include<string.h>

int diames(int dia);

int main()
{
int d;
char m[15];
printf("Ingrese el dia: ");
scanf("%d}",&d);

printf("El dia %d corresponde al mes de %s",d,diames(d));
return 0;
}

int diames(int dia)
{
int mes;

if(dia >= 1 && dia <= 31) mes=1;
else if(dia >= 32 && dia <= 59) mes=2;
else if(dia >= 60 && dia <= 90) mes=3;
else if(dia >= 91 && dia <= 120) mes=4;
else if(dia >= 121 && dia <= 151) mes=5;
else if(dia >= 152 && dia <= 181) mes=6;
else if(dia >= 182 && dia <= 212) mes=7;
else if(dia >= 213 && dia <= 243) mes=8;
else if(dia >= 244 && dia <= 273) mes=9;
else if(dia >= 274 && dia <= 304) mes=10;
else if(dia >= 305 && dia <= 334) mes=11;
else if(dia >= 335 && dia <= 365) mes=12;

return mes;
}


Gracias por su ayuda.
Saludos.

Última edición por manaciano; 31/10/2010 a las 15:14 Razón: Implementación de código