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

problema con gets

Estas en el tema de problema con gets en el foro de C/C++ en Foros del Web. Hola amigos soy nuevo en el foro y espero puedan ayudarme.... lo que pasa es que tengo que hacer un programa de un biblioteca usando ...
  #1 (permalink)  
Antiguo 09/07/2012, 14:33
 
Fecha de Ingreso: julio-2012
Mensajes: 1
Antigüedad: 11 años, 9 meses
Puntos: 0
Sonrisa problema con gets

Hola amigos soy nuevo en el foro y espero puedan ayudarme....

lo que pasa es que tengo que hacer un programa de un biblioteca usando archivos funciones y estructuras, una de las funciones del programa es buscar libros dentro del archivo pero tengo un problema.

esta es la función que utilizo para buscar el libro
el problema es que cuando ejecuto el programa y entro en la opción de buscar
el programa no me deja escribir la palabra que quiero escribir solo sale "el libro no se encuentra" y pide presionar enter para continuar.
creo que el problema es con el gets ya que en ningún momento me deja escribir la palabra a buscar...


plis ayuda!!

void buscar ()
{
system ("cls");
char aux3[50];
ifstream fichin;
fichin.open("LIBROS.TXT",ios::in);
if (fichin.eof())
{
cout<<"EL ARCHIVO libros.txt no existe";
getch();
}
else
{
int mun=0;
cout<<"INTRODUZCA EL NOMBRE DEL LIBRO O BIEN EL NOMBRE DEL AUTOR:\n";
gets(aux3);
fichin>>aux2.libro;
while(!fichin.eof())
{
fichin>>aux2.nombre;
if(strcmp(aux3,aux2.libro)==0)
{
cout<<"EL LIBRO SI SE ENCUENTRA EN LA BIBLIOTECA";
getch();
mun = 1;
}
else
{
if(strcmp(aux3,aux2.nombre)==0)
{
cout<<"EL LIBRO SI SE ENCUENTRA EN LA BIBLIOTECA";
getch();
mun = 1;
}
}
fichin>>aux2.libro;
}
if(mun==0)
{
cout<<"el libro no se encuentra\n";
getch();
}
}
}

gracias por la atención y espero puedan ayudarme
  #2 (permalink)  
Antiguo 10/07/2012, 12:22
Avatar de cronopiomx  
Fecha de Ingreso: mayo-2012
Ubicación: Programing Cloud
Mensajes: 282
Antigüedad: 11 años, 11 meses
Puntos: 28
Respuesta: problema con gets

posteame el codigo completo con main y todo, lo que te debe estar pasando es que la variable mun siempre se queda en 0 y solo se cumple esa condicion, espero

s2
cronos
  #3 (permalink)  
Antiguo 10/07/2012, 12:32
Avatar de cronopiomx  
Fecha de Ingreso: mayo-2012
Ubicación: Programing Cloud
Mensajes: 282
Antigüedad: 11 años, 11 meses
Puntos: 28
Respuesta: problema con gets

posteame el codigo completo con main y todo, lo que te debe estar pasando es que la variable mun siempre se queda en 0 y solo se cumple esa condicion, espero

s2
cronos
  #4 (permalink)  
Antiguo 10/07/2012, 13:43
 
Fecha de Ingreso: diciembre-2011
Ubicación: CABA
Mensajes: 433
Antigüedad: 12 años, 3 meses
Puntos: 94
Respuesta: problema con gets

Hola! lo mas probable es que antes de llamar a la funcion buscar(), hayas ingresado algun dato dejando el ENTER en el bufer del teclado. Y ese ENTER provoca que no puedas ingresar el nombre del libro, ya que gets debe esta tomando el ENTER.
Lo que podes hacer es usar otra funcion para el ingreso, ó vaciar el bufer con while(getchar()!='\n'); antes del gets


Saludos

Etiquetas: funcion, int, 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 05:57.