C/Visual C - validar DNI

 
Vista:

validar DNI

Publicado por chumy87 (1 intervención) el 30/05/2010 16:42:11
hola a todos, estoy iniciandome en c y queria que me ayudara con el siguiente código, que anda pero con errores de orden en los datos.

quiero ingresar una cedula pero que valide solo numero, y 8 digitos, sino que me diga "cedula incorrecta"

muchas gracias a todos, soy de Uruguay (por los digitos de la cedula, DNI)


LO SIGUIENTE ESTA EN UNA ESTRUCTURA QUE FUNCA (ANDA)

........

void ingresar_datos()
{
color(15,0);
FILE *p;
char temp [12];
p=fopen("\\Agenda\\Alumnos.dp","r");
if(p==NULL)
{
p=fopen("\\Agenda\\Alumnos.dp","w");
fclose(p);
p=fopen("\\Agenda\\Alumnos.dp","r");
}
clrscr();
ventana();
gopri(30,8, "CEDULA: ");
scanf("%s",temp);
if (strlen(temp)==8)
{
for(int i=0; i < strlen(temp); i++)
if (temp[i] < '0' || temp[i] > '9')
{
color(15,1);
gopri(22,19, " ");
gopri(22,20, " LA CEDULA INGRESADA ES INCORRECTA ");
gopri(22,21, " ");
getch();
}
else
{
strcpy(aux.ced,temp);

do
{
fread(&alu,sizeof(ALUMNO),1,p);
}
while(!feof(p) && strcmp(alu.ced,aux.ced)!=0);

if(strcmp(alu.ced,aux.ced)==0)
{
color(15,1);
gopri(25,19, " ");
gopri(25,20, " LA CEDULA YA FUE INGRESADA ");
gopri(25,21, " ");
getch();
}
else
{
strcpy(alu.ced,aux.ced);
gopri(30,10, "NOMBRE: ");
scanf("%s", &alu.nom);
gopri(30,12, "TELEFONO: ");
scanf("%s",&alu.tel);
fclose(p);
fopen("\\Agenda\\Alumnos.dp","a+");
fwrite(&alu,sizeof(struct ALUMNO),1,p);
fclose(p);
color(15,1);
gopri(31,19, " ");
gopri(31,20, " ALTA REALIZADA ");
gopri(31,21, " ");
getch();
}
}
}
}
else
{
color(15,1);
gopri(22,19, " ");
gopri(22,20, " LA CEDULA INGRESADA ES INCORRECTA ");
gopri(22,21, " ");
getch();
}
}

...........
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder