Sábado 14 de Diciembre de 2024, 13:43
SoloCodigo
Bienvenido(a),
Visitante
. Por favor,
ingresa
o
regístrate
.
¿Perdiste tu
email de activación?
Inicio
Foros
Chat
Ayuda
Buscar
Ingresar
Registrarse
SoloCodigo
»
Foros
»
Programación General
»
C/C++
(Moderador:
Eternal Idol
) »
Validar Fecha en C (struct)
« anterior
próximo »
Imprimir
Páginas: [
1
]
Autor
Tema: Validar Fecha en C (struct) (Leído 3353 veces)
benekid
Nuevo Miembro
Mensajes: 11
Validar Fecha en C (struct)
«
en:
Sábado 6 de Febrero de 2010, 18:33 »
0
Saludos compañeros, tengo el siguiente codigo... pero no me funciona ! =S
Creo que lo tengo todo bien... pero no me compila
(en Code::Blocks 8.02)
Y la verdad... no se que hacer... les dejo el code:
Código: Text
#include <stdio.h>
#include <windows.h>
#include <stdlib.h>
#include <conio.h>
#define es_anio_bisiesto(y) ((((y)%400)==0)||((((y)%4)==0)&&(((y)%100)!=0)))
struct date fecha;
enum bool
{
false = 0,
true = 1
};
enum Mes
{
Enero = 1,
Febrero = 2,
Marzo = 3,
Abril = 4,
Mayo = 5,
Junio = 6,
Julio = 7,
Agosto = 8,
Septiembre = 9,
Octubre = 10,
Noviembre = 11,
Diciembre = 12
};
int dias_en_el_mes (int y, int m)
{
const int dias[12] = { 31, 28, 31, 30, 31, 30,
31, 31, 30, 31, 30, 31 };
int resultado;
resultado = dias[m-1];
if ( m == Febrero && es_anio_bisiesto ( y ) )
resultado++;
return resultado;
}
bool es_fecha_valida ( struct date fecha )
{
if ( fecha.da_mon < Enero || fecha.da_mon > Diciembre )
return false;
if ( fecha.da_day < 0 || fecha.da_day >=
dias_en_el_mes ( fecha.da_year, fecha.da_mon ) )
return false;
return true;
}
void main()
{
struct date fecha1, fecha2;
fecha1.da_day=1;
fecha1.da_mon=6;
fecha1.da_year=2006;
fecha2.da_day=30;
fecha2.da_mon=2;
fecha2.da_year=2006;
clrscr();
if(es_fecha_valida(fecha1))
printf("La fecha1 es validan");
else
printf("La fecha1 NO es validan");
if(es_fecha_valida(fecha2))
printf("La fecha2 es valida");
else
printf("La fecha2 NO es valida");
getch();
}
Saludos y gracias
Tweet
Keiga
Nuevo Miembro
Mensajes: 5
Re: Validar Fecha en C (struct)
«
Respuesta #1 en:
Sábado 6 de Febrero de 2010, 19:41 »
0
tienes varios errores, pero solo vi uno xD
al final del programa tus if no tienen llaves "{ }"
benekid
Nuevo Miembro
Mensajes: 11
Re: Validar Fecha en C (struct)
«
Respuesta #2 en:
Sábado 6 de Febrero de 2010, 21:07 »
0
Muchas gracias por el esfuerzo...ya me ha funcionado y ahora tengo la siguiente duda:
Quiero pasar estos datos (dados que son int) a char, dado que los quiero meter en otra estructura diferente
y tengo esto:
Código: Text
struct data info;
itoa (info.dia,10);
itoa (info.mes,10);
itoa (info.ano,10);
info_datos[i].dia=info.dia;
info_datos[i].mes=info.mes;
info_datos[i].ano=info.ano;
pero no se que estoy haciendo mal... creo que es por la funcion itoa
(he cambiado los nombres respecto a la funcion de arriba, pero hace lo mismo)
ProfesorX
Moderador
Mensajes: 796
Nacionalidad:
Re: Validar Fecha en C (struct)
«
Respuesta #3 en:
Domingo 7 de Febrero de 2010, 01:58 »
0
la verdad no se que tipo de datos tienes en struct data ya que no muestras la estructura, pero aun asi, me parece que te falta un parametro en la funcion itoa() para que te compile correctamente, te dejo un enlace a la documentacion:
http://www.cplusplus.com/reference/clibrary/cstdlib/itoa/
Saludos
NOTA:
==================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
==================================================================
Imprimir
Páginas: [
1
]
« anterior
próximo »
SoloCodigo
»
Foros
»
Programación General
»
C/C++
(Moderador:
Eternal Idol
) »
Validar Fecha en C (struct)