muchas gracias por la ayuda<br><br><div class="gmail_quote">El 6 de marzo de 2012 22:46, Salvador Pozo <span dir="ltr"><<a href="mailto:salvador@conclase.net">salvador@conclase.net</a>></span> escribió:<br><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
El pasado 2012-03-06 21:08:55, Albert_Munich escribió:<br>
<br>
A> A Salvador le queria preguntar como es que a el le ha funcionado. Has<br>
A> utilizado mi codigo fuente?<br>
<br>
Hola:<br>
<br>
He utilizado tu programa, lo he hecho de nuevo ahora, y a mi me funciona correctamente. No entiendo lo que puede estar pasando.<br>
<br>
Te paso "mi versión" del programa, espero que te ayude.<br>
<br>
----8<------<br>
<div class="im">#include <stdio.h><br>
#include <string.h><br>
<br>
struct t_palabra {<br>
</div><div class="im"> char castellano[30];<br>
char ingles[30];<br>
int cont_aciertos;<br>
int cont_errores;<br>
};<br>
<br>
int main (void)<br>
{<br>
FILE *fichero;<br>
</div><div class="im"> struct t_palabra palabra;<br>
char respuesta[30];<br>
</div> int i, nPalabras;<br>
<br>
/* Crea un fichero con dos palabras, quitar los comentarios para que lo haga cada vez */<br>
/*<br>
fichero = fopen ("datos.dat", "wb+");<br>
strcpy(palabra.castellano, "casa");<br>
strcpy(palabra.ingles, "house");<br>
palabra.cont_aciertos = palabra.cont_errores = 0;<br>
fwrite(&palabra, sizeof(palabra), 1, fichero);<br>
strcpy(palabra.castellano, "coche");<br>
strcpy(palabra.ingles, "car");<br>
fwrite(&palabra, sizeof(palabra), 1, fichero);<br>
fclose(fichero);<br>
*/<br>
<div class="im"><br>
fichero = fopen ("datos.dat", "rb+");<br>
</div><div class="im"> if (fichero == NULL)<br>
printf ("Error: No se ha podido abrir el fichero datos.dat.");<br>
else {<br>
</div> i=0;<br>
while(!feof(fichero))<br>
{<br>
fseek(fichero, i*sizeof(palabra), SEEK_SET);<br>
if(fread(&palabra, sizeof(palabra), 1, fichero) > 0) {<br>
<div class="im"> printf ("\nEscribe la traduccion de...: ");<br>
</div><div class="im"> printf ("\n%s: ", palabra.castellano);<br>
gets(respuesta);<br>
</div> if (!strcmp(respuesta, palabra.ingles)) {<br>
printf ("\nCorrecto!");<br>
palabra.cont_aciertos++;<br>
<div class="im"> } else {<br>
printf ("\nIncorrecto.");<br>
</div> palabra.cont_errores++;<br>
}<br>
fseek(fichero, (-1)*sizeof(struct t_palabra), SEEK_CUR);<br>
<div class="im"> fwrite (&palabra, sizeof(palabra), 1, fichero);<br>
</div> i++;<br>
<div class="im"> }<br>
}<br>
fclose (fichero);<br>
}<br>
fflush(stdin);<br>
printf("\n\nPulse Intro para finalizar...");<br>
getchar();<br>
<br>
</div>/* Parte para ver el estado final del fichero, quitar comentarios para activar */<br>
/*<br>
<div class="im"> fichero = fopen ("datos.dat", "rb+");<br>
</div> rewind(fichero);<br>
while(!feof(fichero)) {<br>
if(fread(&palabra, sizeof(palabra), 1, fichero)) {<br>
printf("%s Ac: %d Er: %d\n", palabra.castellano, palabra.cont_aciertos, palabra.cont_errores);<br>
}<br>
}<br>
fclose (fichero);<br>
*/<br>
return 0;<br>
}<br>
----8<------<br>
<div class="HOEnZb"><div class="h5"><br>
Hasta pronto.<br>
<br>
--<br>
Salvador Pozo (Administrador)<br>
mailto:<a href="mailto:salvador@conclase.net">salvador@conclase.net</a><br>
_______________________________________________<br>
Lista de correo Cconclase <a href="mailto:Cconclase@listas.conclase.net">Cconclase@listas.conclase.net</a><br>
<a href="http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net" target="_blank">http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net</a><br>
Bajas: <a href="http://listas.conclase.net/index.php?gid=2&mnu=FAQ" target="_blank">http://listas.conclase.net/index.php?gid=2&mnu=FAQ</a><br>
</div></div></blockquote></div><br>