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

Problema para Grabar un archivo binario

Estas en el tema de Problema para Grabar un archivo binario en el foro de C/C++ en Foros del Web. hola! estoy un programa que escriba un archivo binario pero no logro que grabe todos los datos, les paso el codigo: Cita: #include<stdio.h> #include<stdlib.h> #include<string.h> ...
  #1 (permalink)  
Antiguo 25/09/2011, 13:45
 
Fecha de Ingreso: abril-2007
Ubicación: Buenos Aires, Argentina
Mensajes: 81
Antigüedad: 17 años
Puntos: 1
Problema para Grabar un archivo binario

hola! estoy un programa que escriba un archivo binario pero no logro que grabe todos los datos, les paso el codigo:

Cita:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>

typedef struct cli
{
int nro;
char nya[50];
float saldo;

}cliente;
int main(){
cliente cli;
int i=0,n;
printf("Número de clientes: ");
scanf("%d",&n);
FILE *pArchivo;
pArchivo=fopen("datos.dat","wb");
if(pArchivo!=NULL)
{
while(i<n && i<25){
printf("Nombre y Apellido :\n ");
gets(cli.nya);
printf("Nro de Cuenta:\n");
scanf("%f", &(cli.nro));
printf("ingrese saldo\n");
scanf("%f",&(cli.saldo));
fwrite(&cli,sizeof(cli),1,pArchivo);
i++;

}
fclose(pArchivo);
}
else
{
printf("Error en la apertura del archivo");
}
printf("Saliendo ...\n");
system("pause");
}
mi problema es que no logro que me tome el numero de cuenta, lo saltea y no se porque... :(
osea me salta:
Cita:
nombre y apellido:
nro de cuenta:
_
me toma lo que escriba como nombre pero el numero de cuenta y el saldo no me los toma salta al siguiente nombre y no puedo saber porque espero que puedan ayudarme...
Estoy usando el Borland (si es un asco pero es lo que hay) y es C...

Desde ya muchas gracias...Saludos,Lara
  #2 (permalink)  
Antiguo 25/09/2011, 20:53
Avatar de WizKnight  
Fecha de Ingreso: noviembre-2010
Ubicación: Maracaibo, Venezuela, Venezuela
Mensajes: 19
Antigüedad: 13 años, 5 meses
Puntos: 1
Respuesta: Problema para Grabar un archivo binario

Pienso yo que el error es este:

Error: scanf("%f", &(cli.nro));
Solucion: scanf("%f", &cli.nro);

Etiquetas: binario, programa, struct
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 20:28.