Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - juan228

#1
Cita de: engel lex 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...

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 ?
#2
Cita de: engel lex 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)

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??
#3
Programación C/C++ / Problemas con fwrite
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 (cpp) [Seleccionar]

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#define DIR "productos.txt"

typedef struct{int cod_art; float peso; char nombre[15], desc[120];}t_producto;

int main()
{
t_producto producto;
FILE *pf;
char opc;

if((pf=fopen(DIR,"w"))==NULL)
{
printf("\nEl Archivo no puede ser abierto");
exit(1);
}

printf("Ingresar un Articulo nuevo (s/n)?: ");
opc=getche();
while(opc=='s')
{
printf("\nIngresar Codigo del Articulo: ");
fflush(stdin);
scanf("%d", &producto.cod_art);
printf("Ingresar Nombre del Articulo: ");
fflush(stdin);
gets(producto.nombre);
printf("Ingresar Descripcion del Articulo: ");
fflush(stdin);
gets(producto.desc);
printf("Ingresar Peso del Articulo: ");
scanf("%f", &producto.peso);
fwrite(&producto,sizeof(producto),1,pf);
printf("\nIngresar un Articulo nuevo (s/n)?: ");
opc=getche();
}
fclose(pf);
return (1);
}