/
Inicio :: Foros

 F.A.Q.F.A.Q.                  Conéctese para revisar sus mensajesConéctese para revisar sus mensajes   

Creacion de nodos a partir de un fichero

 
      Índice del Foro elrincondelc.com -> Principiantes C/C++
Ver tema anterior :: Ver siguiente tema  
AutorMensaje
Wisemog



Registrado: 25 Oct 2007
Mensajes: 1

MensajePublicado: 25/10/2007 6:58 am
Título: Creacion de nodos a partir de un fichero

Buenas, tengo que hacer un pequeño programa que simule un banco, todo a partir de la lectura de un fichero donde estan escritos los datos necesarios. Mi problema principal es que no se como crear los nodos (nodos para una cola a partir de la cual voy a trabajar mas adelante) mediante la lectura del archivo.
esto seria lo que tengo escrito para la funcion de lectura :
Cita:

void abrir(void)
{
FILE *p ;
char i,letra,cuenta,nmov,tipomov,tipocliente,monto,a,b,c ;

p = fopen("archivo.txt","r");
if(p == NULL )
{
printf("No se puede abrir el fichero\n");
exit(1);
}

while(feof(p) == 0 )
{
letra = fscanf(p,"%s-15%c%s-10%c%c%c%c%s-8",cuenta,a,nmov,b,tipomov,c,tipocliente,monto) ;
}
}


dentro del ciclo while pretendo introducir un funcion para crear los nodos, bajo la siguiente estructura :

Cita:

typedef struct nodo{ // cola
char cuenta[15];
char nmov[10];
char tipomov[1];
char tipocliente[1];
float monto ;
nodo *prox;
};

nodo *q ;



Como se podran dar cuenta, mediante el fscanf pretendo grabar en la estructura los datos (cuenta en cuenta, nmov en nmov, etc), pero ese proceso es el que no he podido lograr hasta ahora Sad
Ojala que me puedan pegar una ayudadita con esto.
De antemano gracias.
Volver arriba
rir3760



Registrado: 01 Oct 2004
Mensajes: 3650
Ubicación: Mexico

MensajePublicado: 25/10/2007 9:20 am
Título:

Para empezar en la llamada a fscanf te falta el uso del operador "direccion de" (el '&').

Tambien hay que aclarar que controlar un bucle mediante la funcion feof no es una buena idea porque (¿Cuantas explicaciones van con esta?) esa funcion solo devuelve un valor verdadero despues que una funcion de lectura trata de leer datos del archivo y falla al ya no haber mas datos que leer. Esto usualmente se concreta en un bucle que procesa la ultima linea/dato dos veces.

Para ayudarte a formar la llamada necesitas explicar cual es la estructura interna del archivo de datos, por ejemplo si cada linea equivale a un registro, lineas de ejemplo sacadas de este , etc.

Un saludo
_________________
The capacity to learn is a gift;
The ability to learn is a skill;
The willingness to learn is a choice.
--
Rebec of Ginaz
Volver arriba
      Índice del Foro elrincondelc.com -> Principiantes C/C++
Página 1 de 1Todas las horas están en GMT - 8 Horas

 
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas

(c) ElRincondelC.com

Un proyecto de UrlanHeat.com