Problema con Ciclo Infinito y Condicionales en C Intento cargar 1 valor entero a la variable F y de hay si el valor de la linea es 0 pase a la siguiente linea y asi sucesivamente hasta q cambie el valor para poder entrar en los condicionales
0 ----------------------------------------------------------->Operacion 0
0 ----------------------------------------------------------->Operacion 0
1 ----------------------------------------------------------->Operacion 1
18 04 2011 24 04 2011
DOBLE
3 ----------------------------------------------------------->Operacion 3
A 12345678 Alberto Martinez
A 13456789 Margarita Hernandez
N Andreina Martinez
0
0
Asi vendria siendo mas o menos la estructura del archivo
necesito que al pasar las Operacion 0 las 2 veces en una 3ra vuelta,
pase a Operacion 1 osea F==1 deberia entrar al condicional y cargar los 2 datos q se encuentran alli.. osea las fechas y DOBLE, ya despues la operacion que seguiria seria la 3 aun no e comenzado esa porq veo q siquiera entra al primer condicional =(
void Operacion(Usuario us, FILE *operacion)
{
Basura bs;
int F,i;
long int Cdd;
char P;
char A = "A";
char N = "N";
operacion = fopen("Operaciones.in","r");
if (operacion == NULL){
printf("No abrio el Archivo\n");
}else
{
fscanf(operacion,"%d",&F);
while (feof(operacion))
{
if (F==0)
{
ContF[1]++;
}
else
{
if (F==1)
{
fscanf(operacion,"%d",&us.CheckIn[1]);
printf("%d",us.CheckIn[1]);
fscanf(operacion,"%d",&us.CheckIn[2]);
fscanf(operacion,"%d",&us.CheckIn[3]);
fscanf(operacion,"%d",&us.CheckOut[1]);
fscanf(operacion,"%d",&us.CheckOut[2]);
fscanf(operacion,"%d",&us.CheckOut[3]);
fscanf(operacion,"%[^0-9]s",us.t_hab);
fscanf(operacion,"%d",&us.CantP);
fscanf(operacion,"%c",&P);
us.A++;
fscanf(operacion,"%d",&us.Ced);
fscanf(operacion,"%[^0-9]s",us.Nom);
fscanf(operacion,"%[^0-9]s",us.Apellido);
for (i = 0; i < (us.CantP-1); i++)
{
fscanf(operacion,"%c",&P);
if (P == A) //COmparacion de Caracteres
{
us.A++;
fscanf(operacion,"%d",&bs.CB);
fscanf(operacion,"%[^0-9]s",bs.NombreB);
fscanf(operacion,"%[^0-9]s",bs.ApellidoB);
}
else
{
us.N++;
fscanf(operacion,"%[^0-9]s",bs.NombreB);
fscanf(operacion,"%[^0-9]s",bs.ApellidoB);
}
}
}
/*if(F==2)
{
fscanf(operacion,"%d",&Cdd);
fscanf(operacion,"%d",&us.Hora);
}*/
if(F==3)
{
}
}
}
}fclose(operacion);
} |