Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Funciona a medias

Estas en el tema de Funciona a medias en el foro de C/C++ en Foros del Web. Hola. Tengo el siguiente código que me permite ver los datos de un alumno en un archivo de texto. El código funciona si los datos ...
  #1 (permalink)  
Antiguo 26/03/2007, 15:25
 
Fecha de Ingreso: marzo-2007
Mensajes: 15
Antigüedad: 17 años, 1 mes
Puntos: 0
Funciona a medias

Hola.

Tengo el siguiente código que me permite ver los datos de un alumno en un archivo de texto. El código funciona si los datos comienzan en la primera línea. Mi pregunta es como puedo hacer para poder ver los datos si estos comienzan en la 4ª línea.

Código:
void ExaminarAlumno()
{
FILE *fp;
int i=0, salir=0, Mat;
printf("Identificacion del alumno:  ");
scanf("%d", &Mat);
(fp=fopen("clase.txt", "r")

do
{
	fscanf(fp, "%d  %s  %s  %d  %d  %d\n", &(Clase[i].Numalumno), Clase[i].Nombre, Clase[i].Apellido, &(Clase[i].Nota1), &(Clase[i].Nota2), Clase[i].Nota3);
		if (Mat==Clase[i].Numalumno)
		{
			printf("%d  %s  %s  %d  %d  %d\n", Clase[i].Numalumno, Clase[i].Nombre, Clase[i].Apellido, Clase[i].Nota1, Clase[i].Nota2, Clase[i].Nota3);
			salir=1;
		}
		else
		{
			i++;
		}
	}while (salir!=1 && !feof(fp));
fclose(fp);
getch();
}
  #2 (permalink)  
Antiguo 26/03/2007, 17:04
Avatar de Instru  
Fecha de Ingreso: noviembre-2002
Ubicación: Mexico
Mensajes: 2.751
Antigüedad: 21 años, 5 meses
Puntos: 52
Re: Funciona a medias

Al parecer esto no lee la primera linea, sino lee todo el archivo:

while (salir!=1 && !feof(fp));

aqui lo tienes.

Y bueno, aparte de que si vez el codigo bien es como si leyeras una especie de base de datos.

Saludos
  #3 (permalink)  
Antiguo 27/03/2007, 02:44
 
Fecha de Ingreso: marzo-2007
Mensajes: 15
Antigüedad: 17 años, 1 mes
Puntos: 0
Re: Funciona a medias

Cita:
Iniciado por Instru Ver Mensaje
Al parecer esto no lee la primera linea, sino lee todo el archivo:

while (salir!=1 && !feof(fp));

aqui lo tienes.

Y bueno, aparte de que si vez el codigo bien es como si leyeras una especie de base de datos.

Saludos
Claro, lee todo el archivo, pero lo que quisiera es que empezara a leer todo el archivo desde la 4ª línea.
  #4 (permalink)  
Antiguo 27/03/2007, 13:09
 
Fecha de Ingreso: noviembre-2003
Ubicación: Mexico
Mensajes: 1.081
Antigüedad: 20 años, 5 meses
Puntos: 7
Re: Funciona a medias

antes de entrar a tu while,
por que no usas un fscanf para leer 4 lineas y lo guardas en un temporal (que no te servira de nada jeje ),

asi, ya cuando entres a tu ciclo, ya estaras en la linea que deseas.

saludos,
  #5 (permalink)  
Antiguo 27/03/2007, 13:44
Avatar de _Lucifer_  
Fecha de Ingreso: junio-2006
Mensajes: 1.662
Antigüedad: 17 años, 11 meses
Puntos: 28
Re: Funciona a medias

Ya que solo lo abres de solo lectura por que no lees 4 lineas o haces un ciclo que te lea las "n" lineas que deseas y despues que lea el resto del archivo? no tienes que guardarlas en otro archivo.

Saludos
__________________
Si crees que no tiene sentido, etonces probablemente lo tenga... :arriba:
  #6 (permalink)  
Antiguo 27/03/2007, 15:27
Avatar de Instru  
Fecha de Ingreso: noviembre-2002
Ubicación: Mexico
Mensajes: 2.751
Antigüedad: 21 años, 5 meses
Puntos: 52
Re: Funciona a medias

Vamos, con tan solo hacer 3 veces fgets ya con eso.
no hay mucha ciencia en eso.

Saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:33.