Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/06/2010, 10:55
makum
 
Fecha de Ingreso: junio-2010
Mensajes: 1
Antigüedad: 13 años, 10 meses
Puntos: 0
Ayuda principiante! :(

estoy con un proyecto en el que me juego el año y se me da realmente mal...
tengo que crear ficheros con datos, crear una ruta, que la crea pero a la hora de comparar si el codigo de la ruta existe o no...no funciona. En fin, lo dejo aqui:
gracias de antemano a cualquier ayuda :)

la estructura es la siguiente:

struct rutas
{
int codruta;
char cadorigen[20];
char caddestino[20];
float distancia;
};
typedef struct rutas trut;

y la funcion: no se como ponerlo y ya estoy quemadisima...


void datos_ruta ()
{
int cod;
int condicion=0;
trut rutas;
FILE *pfich;

printf ("Introduzca el codigo de la ruta:");
scanf ("%d",&cod);
pfich=fopen("c:\\rutas.dat","ab+");
if (pfich == NULL)
{
printf ("Se ha producido un error. Imposible abrir el fichero.");
exit(1);
}
else
{
fread(&rutas,sizeof(trut),1,pfich);
while (condicion == 0)
{
if (cod == rutas.codruta)
{

printf ("El código introducido ya existe.");

printf ("Por favor, introduzca un código diferente:");
scanf ("%d",&cod);
fseek(pfich,0,0);
condicion=0;

}
else
{

printf ("INTRODUZCA:\n\n");
printf ("*Origen del viaje:");
scanf ("%s",&rutas.cadorigen);
printf ("*Destino del viaje:");
scanf ("%s",&rutas.caddestino);
printf ("*Distancia a recorrer:");
scanf ("%f",&rutas.distancia);
condicion=1;
}

system ("cls");
printf ("*La ruta ha sido creada correctamente*");

getch ();
}
fwrite (&rutas, sizeof(trut),1,pfich);
}
fclose(pfich);
}