31/10/2010, 08:19
|
| | Fecha de Ingreso: mayo-2010
Mensajes: 2
Antigüedad: 14 años, 6 meses 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
|