Autor
|
Tema: Problema con la funcion getchar (Leído 2,123 veces)
|
lublanc
Desconectado
Mensajes: 1
|
Hola
Estoy espesando a programar y tengo un problema con el siguiente ejercicio.
Me pregunta seria.
1) Por que dentro del if me ejecuta ambas casos?
2) hay alguna forma de que no lo haga intentando usar los mismos elementos del ejercicio?
gracias
#include <stdio.h> #include <stdlib.h>
int main() { int numero; unsigned int aCount = 0;
puts("Ingrese un caracter"); while( (numero = getchar()) != EOF ) { if( numero == 'a' ) aCount++; else puts("Catacter incorrecto"); }
printf("%u", aCount); return 0; }
|
|
|
En línea
|
|
|
|
MAFUS
Desconectado
Mensajes: 1.603
|
Cuando adquieres algo por teclado lo que se teclea va a un buffet y getchar devuelve el primer elemento de ese buffer, pero queda lo demás. Cuando tomas un solo carácter en verdad se guardan dos: el dato que quieres y uno de nueva línea '\n', fruto de pulsar ENTER. Puedes solucionar esto vaciando el buffer leyendo todos los caracteres que tiene hasta llegar al de nueva línea, así te aseguras que en la próxima iteración sólo estará el dato que te interesa.
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
¿Para qué sirve la función getchar?
Programación C/C++
|
Bb-7
|
4
|
105,338
|
17 Octubre 2012, 08:45 am
por do-while
|
|
|
problema con getchar()
Programación C/C++
|
juanigato
|
5
|
9,545
|
23 Diciembre 2013, 19:47 pm
por leosansan
|
|
|
getchar() != EOF
Programación C/C++
|
Treppe
|
6
|
15,548
|
20 Julio 2011, 21:48 pm
por rir3760
|
|
|
Problema con while y getchar.
Programación C/C++
|
Spinerker
|
3
|
2,866
|
17 Octubre 2013, 14:18 pm
por Eternal Idol
|
|
|
Problema con el getchar
Programación C/C++
|
Despondency
|
1
|
1,693
|
23 Diciembre 2013, 19:50 pm
por leosansan
|
|