...un getche();...
Hola muchas gracias, por responderme, pero tengo otro problema, ahora en el dev cpp, uno el archivo alumnos.txt, pero no me lo reconoce, asi que cuando compilo el programa y ejecuto, me sale. que el archivo alumnos.txt, no existe.Cita de: "Jevi"...un getche();...
supongo que habra sido un error pero es getch(); no getche(); y otra cosa para usar getch() debes incluir un #include <conio.h> al principio del codigo (que supongo k tambien se sabe, pero por si alguien no lo sabe) :hola:
He depurado tu programa, parando la ejecución en la línia 34Hola muchas gracias, por responderme, pero tengo otro problema, ahora en el dev cpp, uno el archivo alumnos.txt, pero no me lo reconoce, asi que cuando compilo el programa y ejecuto, me sale. que el archivo alumnos.txt, no existe. Como debo linkarlo el archivo alumnos.txt, para que la práctica me funcione?. Muchas gracias, por ser tan amable conmigo.Me estás ayudando mucho. Gracias.Código: Textveo que como el fichero alumnos.txt no existe, te escribe el mensaje
if((fp=fopen("alumnos.txt", "r"))== NULL) Código: Texty luego salta a final del programa con return -1;
printf("El fichero alumnos.txt no existe\n");
Si pones un getche(); después de cada printf, el programa esperará a presiones una tecla y te dará tiempo a visualizar los mensajes. Eso, o aprender a leer ultrarápidamente :D
Un saludo.
He estado mirando tu codigo, y tu problema es k cuando es menor de 3 años, se sale del primer bucle, pero como tienes otro while mas abajo que controla el fin de fichero pues vuelve a empezar. Otra cosa que e visto es k si introduces unos datos en los que la persona tiene mas de 3 años no guarda los datos en el fichero, y te vuelve a pedir apellidos y demas, no creo k sea eso lo que pretendes.Hola de nuevo, te refires a una cosa asi:
Lo de controlar el fin de fichero no te hace falta a la hora de escribir, solo cuando kieras leer el fichero. En vez de controlar si es fin de fichero, haz algo asi:Código: Text
printf("¿Quiere introducir otra persona? (s/n):"); }while(getchar!='n');
No se si es algo asi lo k pretendes de todas formas espero servirte de ayuda
:hola:
Es que no entiendo para que sirve la condicion de que sea menor de 3 años... que quieres exactamente que haga cuando es menor? En el codigo original no es k no salga del bucle, es k sale del primer while, pero no del segundo (el de feof). ¿podrias especificar lo k pretendes al controlar lo de los tres años? ;)Verás lo que pretendo es poner alguna condición de salida,para que en un momento dado deje preguntar datos, los meta en el fichero binario. Y se guarden bien. Me inventé lo de los 3 años, porque como son 3 años de carrera, pues solo pueden como minimo debian llevar 3 años, porque la practica pone que son 3 años lectivos. En fin, era por poder salir del bucle.
Es que no entiendo para que sirve la condicion de que sea menor de 3 años... que quieres exactamente que haga cuando es menor? En el codigo original no es k no salga del bucle, es k sale del primer while, pero no del segundo (el de feof). ¿podrias especificar lo k pretendes al controlar lo de los tres años? ;)Hola, ya te dije lo que significaba lo de los 3 años, por favor, contestame, que aun no me has contestado, acabo de llegar de un examen. Luego vere si me has contestado, me voy a la camal, que estoy molida.
Hola otra vez, yo siempre k trabajo con ficheros, lo hago controlando el numero de registros y haciendolo por acceso directo, pòr eso no estoy muy puesto en lo de controlar el fin de fichero y demas. Me e dado cuenta k el problema de k se repite tu bucle esta en uno de los while -> while((car = fgetc(fp)) != '\n') debido a este bucle se repite siempre, kitande este bucle y el if k le sigue -> (if(isspace (car) == 0)) ya funciona bien en lo k a no repetir los bucles se refiere, pero claro supongo k en tu caso estas dos sentencias seran necesarias, y la verdad es k no se para k sirven. Espero k al menos te sirva de algo... :unsure:Veras el bucle de while((car = fgetc(fp)) = '\n') está puesto para que lea del fichero de texto. y luego si car es un espacio en blanco entonces haga todo lo que viene debajo. Yo sé que el error de que se me repitan los bucles está ahi. Pero es que no sé como ponerlo para la solucionar el problema. Si los quito no me hacen lo que quiero.
Siento no serte mas util, pero como ya e dixo, yo suelo trabajar con ficheros d acceso directo(fwrite,fread,fseek y demas) y clarro lo mismo k estas haciendo tu yo lo haria con un planteamiento totalmente distinto, controlando el numero de registros y demas, a ver si hay suerte y ayuda alguien mas... un saludo.Hola gracias de todos modos, si que soy andaluza, de Córdoba.
P.D: Me parecio leer por ahi k eras andaluza... yo tb lo soy :hola: :D