veran hasta ahi tengo el programa que ingrese los datos tanto del dni fecha de nacimiento y por ultimo el sexo
ahora el problema esq se ingresen datos reales el dni por ejemplo tiene 8 numeros y una letra al final la fecha debe existir como tal en el calendario y el sexo tiene que ser entre masculino o femenino no se como hacer las validaciones correspondientes se que es con funciones y ya lo e intentado pero no me ha funcionado
#include <stdio.h>
#define DIM 5
typedef struct{
int dia,mes,year;
}tfecha;
typedef struct{
int num;
char letra;
} tdni;
typedef struct{
tdni dni;
tfecha fecha01;
char genero;
}tpersona;
int main(){
tpersona pers,joven,adulto;
int i;
tfecha vfechas[DIM];
int j,aux,numdias;
joven.dni.num=-1;
adulto.dni.num=-1;
for(i=0;i<=DIM;i++){
printf("digite el dni de la persona:%d\n", i);
scanf("%d%c", &pers.dni.num,&pers.dni.letra);
printf("digite la fecha de nacimiento de la persona en el formato (dd/mm/aa):%d\n",i);
scanf("%d%*c%d%*c%d%*c",&pers.fecha01.dia,&pers.fecha01.mes,&pers.fecha01.year);
printf("digite el sexo (m/f):%d\n",i);
scanf("%c",&pers.genero);
}
return 0;
}
ejemplo de ejecucion
ingrese dni 88888888t
fecha 25/67/2998
fecha mal ingresada por favor digite de nuevo
fecha 23/07/1998
sexo m
asi deberia ser ya con las respectivas validaciones
· Los códigos deben ir en etiquetas GeSHi
>aquí las reglas del foro (http://foro.elhacker.net/reglas.htm)
-Engel Lex
Pordria funcionarte utilizar expresiones regulares para analizar la cadena ingresada en el caso del DNI, la otra validacion sale con un If-Else.
osea si pero el tema de funciones la verdad que no se me da muy bien me podrian explicar con un ejemplo al menos una validacion de los 3 items yo creo q el del genero esta mas facil de validar por que el de la fecha toca ver ciertas comprobaciones si es bisiesto cuanto dias tiene el mes y todo eso