JAVI MUCHAS GRACIAS SI FUNCIONA, PERO EL PROFE NO QUIERE QUE TRABAJEMOS CON SYSTEM.

POLYTA_1977
10 de Julio del 2004
Hola javi, como te dije muchas gracias por tu ayuda, funciono todo bien, era porque en la universidad los computadores tenian privilegios y no se veia nada. Pero bueno, la cosa es que el profesor no quiere algo tan facil con SYSTEM, nos pidió con estructura de fecha. y LO HICE!!!! PERO NO SE VALIDARLO, YA QUE ME DEJA INGRESAR MESES NADA QUE VER, DIAS NADA QUE VER, Y EL AÑO TENGO QUE LIMITARLO HASTA EL 2020.
Si tu o alguien me puede ayudar:

El programa es asi,

/*FECHA*/
#include<dos.h>
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>

void fnc_fecha();

void fnc_hora();

int main()
{
int opcion;
clrscr();
gotoxy(35,2);
printf("RUTINA DE FECHAn");
gotoxy(25,10);
printf("1.- Fecha:n");
gotoxy(25,12);
printf("2.- Hora :n");
scanf("%d",&opcion);
if (opcion==1)
fnc_fecha();
else if(opcion==2)
fnc_hora();
else{
printf("Ninguna de las anteriores");
getch(); }
return(1);
}

void fnc_fecha()
{
struct date fecha;


clrscr();
getdate(&fecha);
printf("Su fecha actual es: %d-%d-%dn",fecha.da_day, fecha.da_mon,fecha.da_year);
printf("Ingrese nueva dia:");
scanf("%d",&fecha.da_day);
printf("nIngrese nueva mes:");
scanf("%d",&fecha.da_mon);
printf("nIngrese nuevo a¤o:");
scanf("%d",&fecha.da_year);
setdate(&fecha);
printf("Su nueva fecha es: %d-%d-%dn",fecha.da_day, fecha.da_mon,fecha.da_year);
getch();
}



void fnc_hora()
{

struct time hora;

clrscr();
gettime(&hora);
printf("Su hora actual es: %d-%d-%dn",hora.ti_hour, hora.ti_min,hora.ti.second);
printf("Ingrese nueva hora:");
scanf("%d",&hora.ti_hour);
printf("nIngrese nuevos minutos:");
scanf("%d",&hora.ti_min);
printf("nIngrese nuevos segundos:");
scanf("%d",&hota.ti_second);
settime(&hora);
printf("Su nueva hora es: %d:%d-%dn",hora.ti_hour,hora.ti_min,hora.ti_);
getch();
}


NECESITO VALIDAR Y NO SE COMO HACERLO, TANTO LA FECHA COMO LA HORA, ESTOY TRATANDO DE HACER CON UN IF, PERO SALE LARGO Y NO ME RESULTA MUCHO, YA QUE FEBRERO TIENE 28 Y A VECES 29 DIAS. LA HORA DEBE LLEGAR HASTA 24. UFFFFFFF QUIEN PUEDA TENDERME UNA MANITO, EN REALIDAD ORIENTARME EN ESTO LE AGRADECERE MUCHO.
A TI JAVI, GRACIAS SIEMPRE POR TU AYUDA!!!!!

javi
10 de Julio del 2004
No entiendo a que te refieres con validar ,te refieres a que no de errores al compilar?
Que es lo que tienes que hacer exactamente ,tienes que trabajar con la hora y fecha del sistema o simular
el tuyo propio?
Y por ultimo en este codigo que has puesto falta definir las estructuras date y time ? o es que forman parte de alguna libreria? es quesi es asi no son estandars y no se si las tengo para poder compilar.

juan esteban ospina
10 de Julio del 2004
Disculpa javi la intromision.
ella se refiere a que no se pueda entrar por ejemplo en el caso de los dias un numero mayor a 30.
yo ya logre que no se pueda entrar un numero mayor a treinta ni menor a uno en el caso de los dias. pero se necesita buscar la manera de que primero se entre el mes que el dia, para asi poder saber si se puede entrar 30, 31 ó 28 en el caso de febrero.

juan esteban ospina
10 de Julio del 2004
es con la hora del sistema, no es simulacion

POLYTA_1977
10 de Julio del 2004
AMIGOS, LA VERDAD ES QUE EL PROGRAMA NO ES TAN SENCILLO. EL PROFESOR PROHIBIO QUE SE USE EL SYSTEM PORQUE DIJO QUE ERA MUY FACIL.
ENTONCES QUEDA HACERLO CON ESTRUCTURAS. JAVI, SI TE FIJAS EN EL PROGRAMA LA ESTRUCTURA ESTA DECLARADA, YA QUE VIENE EN LAS LIBRERIAS DOS.H DE C. A SI QUE ESTA BIEN, MIRA SI LO UNICO QUE QUIERO SABER ES COMO VALIDAR EL DIA EL MES PORQUE EL AÑO POR ULTIMO LO DEJO ABIERTO CON UNA VALIDACION BASICA DE 1980 AL 2099.
PERO ME INTERESA VALIDAR QUE CUANDO EL USUARIO INGRESE COMO MES UN 2 POR EJEMPLO (QUE CORRESPONDERIA A FEBRERO) VALIDE QUE LOS DIAS SEAN SOLO DE 28 DIAS Y NO DE 30 NI 31. A ESO ME REFIERO CON "VALIDAR" ES "VALIDACION DE DATOS INGRESADOS.
Ojala amigo me puedas ayudar y entender, aca me ha servido mucho tu ayuda y la de otro amigo que me a apoyado mucho en esto. Te lo agradezco mucho. Gracias.