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

Problema con Gets en C

Estas en el tema de Problema con Gets en C en el foro de C/C++ en Foros del Web. Buenas noches, le comento mi problema con gets al igual con fgets. Al incluirlo en mi programa ya que necesito que el usuario ingrese la ...
  #1 (permalink)  
Antiguo 11/11/2014, 20:58
 
Fecha de Ingreso: noviembre-2014
Mensajes: 1
Antigüedad: 9 años, 5 meses
Puntos: 0
Pregunta Problema con Gets en C

Buenas noches, le comento mi problema con gets al igual con fgets. Al incluirlo en mi programa ya que necesito que el usuario ingrese la categoria a la que desea aumentarle el sueldo y si no cola nada se lo aumenta a todas las categorias.

Código:
char cataumentar[3]="";
float porcentaje;

printf("Ingrese la categoria a aumentar: \n");
		gets(cataumentar);


    printf("Ingrese el porcentaje a aumentar: \n");
    scanf("%f", &porcentaje);
El problema es que al iniciar el programa a la funcio gets se la saltea es decir:

Ingrese la categoria a aumentar:
Ingrese el porcentaje a aumentar: [PUNTERO]

Espero que me puedan ayudar, se que lo puedo remplazar por scanf pero el problema es que no me permite dejarlo en blanco solo apretando ENTER ya que siempre espera a que se le ingrese algo por teclado.
Muchas gracias!
  #2 (permalink)  
Antiguo 12/11/2014, 01:14
Avatar de leosansan  
Fecha de Ingreso: mayo-2012
Ubicación: GRAN CANARIA
Mensajes: 194
Antigüedad: 12 años
Puntos: 49
Respuesta: Problema con Gets en C

Cita:
Iniciado por Pablontvg13 Ver Mensaje
El problema es que al iniciar el programa a la función gets se la saltea es decir:

Ingrese la categoría a aumentar:
Ingrese el porcentaje a aumentar: [PUNTERO]
Debes de tener algún scanf o similar previo a los anteriores y lo que procede es limpiar el buffer previo al gets.

Igual si pones algo del código previo podemos concretar más.

¡¡¡Saluditos!!!


Etiquetas: char, programa
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 17:54.