porfavor ayuda!!!
Publicado por jorge (4 intervenciones) el 07/03/2001 14:43:57
antes que nada, gracias por leerme.
Tengo un problema al introducir datos en llamadas
a scanf, debido a que cuando introduzco datos que
contengan espacios en blanco, los campos que siguen para completar el programa me los pide juntos, osea que es como que cada espacio que introduzco estoy llenando otro campo.
En cambio si introduzco por ej. un nombre de una persona pero sin espacios en blanco el dato que sigue despues me lo pide bien.
Me dijeron que tenia que limpiar el buffer con fflush,pero no funcionó, y que tenia que usar en vez de scanf la funcion gets, porque aveces scanf tenia problemas con datos combinados (osea con espacios en blanco) pero tampoco dio resultado.
Este es el codigo fuente:
#include<stdio.h>
#include<stdlib.h>
#define SIZE 3
int main(void)
{
struct dato {
char nombre[30], email[25], domicilio[25];
int edad, telefono;
} agenda[SIZE];
int i=0;
clrscr();
for (i=0;i<=SIZE;i++)
{
printf("Ingrese nombre:");
scanf("%s",&agenda[i].nombre);
printf("Ingrese email:");
scanf("s",&agenda[i].email);
printf("Ingrese domicilio:");
scanf("%s",&agenda[i].domicilio);
printf("Ingrese edad:");
scanf("%d", &agenda[i].edad);
printf("Ingrese telefono:");
scanf("%d", &agenda[i].telefono);
}
printf("A continuacion se mostrar n los datos almacenados...");
printf("Presione una tecla...");
return 0;
}
Tengo un problema al introducir datos en llamadas
a scanf, debido a que cuando introduzco datos que
contengan espacios en blanco, los campos que siguen para completar el programa me los pide juntos, osea que es como que cada espacio que introduzco estoy llenando otro campo.
En cambio si introduzco por ej. un nombre de una persona pero sin espacios en blanco el dato que sigue despues me lo pide bien.
Me dijeron que tenia que limpiar el buffer con fflush,pero no funcionó, y que tenia que usar en vez de scanf la funcion gets, porque aveces scanf tenia problemas con datos combinados (osea con espacios en blanco) pero tampoco dio resultado.
Este es el codigo fuente:
#include<stdio.h>
#include<stdlib.h>
#define SIZE 3
int main(void)
{
struct dato {
char nombre[30], email[25], domicilio[25];
int edad, telefono;
} agenda[SIZE];
int i=0;
clrscr();
for (i=0;i<=SIZE;i++)
{
printf("Ingrese nombre:");
scanf("%s",&agenda[i].nombre);
printf("Ingrese email:");
scanf("s",&agenda[i].email);
printf("Ingrese domicilio:");
scanf("%s",&agenda[i].domicilio);
printf("Ingrese edad:");
scanf("%d", &agenda[i].edad);
printf("Ingrese telefono:");
scanf("%d", &agenda[i].telefono);
}
printf("A continuacion se mostrar n los datos almacenados...");
printf("Presione una tecla...");
return 0;
}
Valora esta pregunta


0