Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Makum

#1
Programación C/C++ / Ayuda principiante! :(
13 Junio 2010, 18:50 PM
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:
agradezco de antemano 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);
}