elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Problemas con fwrite
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problemas con fwrite  (Leído 2,067 veces)
juan228

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Problemas con fwrite
« en: 5 Mayo 2015, 19:17 pm »

Hola! Les comento, lo que tiene que hacer el programa es grabar productos dentro de un archivo y listo. El tema esta en que me graba todo MENOS el cod_art y no entiendo por que!

Les dejo el codigo para que puedan verlo

Código
  1. #include <stdio.h>
  2. #include <conio.h>
  3. #include <stdlib.h>
  4. #define DIR "productos.txt"
  5.  
  6. typedef struct{int cod_art; float peso; char nombre[15], desc[120];}t_producto;
  7.  
  8. int main()
  9. {
  10. t_producto producto;
  11. FILE *pf;
  12. char opc;
  13.  
  14. if((pf=fopen(DIR,"w"))==NULL)
  15. {
  16. printf("\nEl Archivo no puede ser abierto");
  17. exit(1);
  18. }
  19.  
  20. printf("Ingresar un Articulo nuevo (s/n)?: ");
  21. opc=getche();
  22. while(opc=='s')
  23. {
  24. printf("\nIngresar Codigo del Articulo: ");
  25. fflush(stdin);
  26. scanf("%d", &producto.cod_art);
  27. printf("Ingresar Nombre del Articulo: ");
  28. fflush(stdin);
  29. gets(producto.nombre);
  30. printf("Ingresar Descripcion del Articulo: ");
  31. fflush(stdin);
  32. gets(producto.desc);
  33. printf("Ingresar Peso del Articulo: ");
  34. scanf("%f", &producto.peso);
  35. fwrite(&producto,sizeof(producto),1,pf);
  36. printf("\nIngresar un Articulo nuevo (s/n)?: ");
  37. opc=getche();
  38. }
  39. fclose(pf);
  40. return (1);
  41. }


En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Problemas con fwrite
« Respuesta #1 en: 5 Mayo 2015, 19:21 pm »

wow! vengo es por lo que no se debe hacer... cumples la lista casi completa

https://foro.elhacker.net/programacion_cc/lo_que_no_hay_que_hacer_en_cc_nivel_basico-t277729.0.html

arregla eso, no vaya a ser un conflicto con fflush(stdin)


En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
juan228

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: Problemas con fwrite
« Respuesta #2 en: 5 Mayo 2015, 19:41 pm »

wow! vengo es por lo que no se debe hacer... cumples la lista casi completa

https://foro.elhacker.net/programacion_cc/lo_que_no_hay_que_hacer_en_cc_nivel_basico-t277729.0.html

arregla eso, no vaya a ser un conflicto con fflush(stdin)

Primero que nada gracias y buena foto de DW :P jajaj

Con respecto al tema de los fflush, solo los pongo antes del ingreso de cadenas, en caso de sacarlo me saltea todo, es decir me hace esto:

Ingrese Codigo: 0000
Ingrese Nombre:
Ingrese Descripcion: _

Es decir me saltea uno, por eso los pongo...

Tenes alguna idea de por que el unico dato que no me considera es el primero??
En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Problemas con fwrite
« Respuesta #3 en: 5 Mayo 2015, 19:43 pm »

leiste el link, hiciste los cambios respectivos y no funcionó?

intentaste hacer debug?

primero prueba las soluciones, luego responde con tus resultados...
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
juan228

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: Problemas con fwrite
« Respuesta #4 en: 5 Mayo 2015, 20:01 pm »

leiste el link, hiciste los cambios respectivos y no funcionó?

intentaste hacer debug?

primero prueba las soluciones, luego responde con tus resultados...

Si, te los enumero:

  • gets(); | Si lo saco y uso un scanf no solo que no noto cambios sino que tampoco puedo escribir cadena de caracteres separados por espacios.
  • fflush(stdin); | Si saco los fflush que se encuentran antes de los gets (o scanf segun el caso) me saltea como te dije antes
  • conio.h | Lo uso para el getche(); en el peor de los casos, lo saco y pongo un scan pero eso no falla

A que te referis con debug ?
En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Problemas con fwrite
« Respuesta #5 en: 5 Mayo 2015, 20:16 pm »

:¬¬ en el tema no es un queja... está la solución para cada caso...

deja conio.h (aunque hay soluciones para ello) cambia los otros 2... teóricamente si cambias el gets, no necesitas fflush
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Problemas con fwrite()
PHP
eLank0 2 2,071 Último mensaje 17 Enero 2007, 01:57 am
por eLank0
Problema Fwrite
Programación C/C++
kristian_5 2 2,664 Último mensaje 12 Junio 2013, 11:08 am
por aguml
fwrite y estructuras
Programación C/C++
m@o_614 4 6,356 Último mensaje 6 Noviembre 2013, 02:33 am
por rir3760
fwrite Estructuras
Programación C/C++
pozo_23 1 1,690 Último mensaje 4 Enero 2017, 11:34 am
por MAFUS
ayuda con uso de fwrite actualizar fichero en c
Programación C/C++
adriana13 2 1,771 Último mensaje 19 Octubre 2018, 21:36 pm
por adriana13
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines