Autor
|
Tema: Funcio Getchar(); (Leído 4,866 veces)
|
Odai
Desconectado
Mensajes: 25
Odai
|
Hola, estoy programando en C con el compilador gcc pero, trato d hacer una repeticion do-while y cuando ingreso el caracter para continuar , el programa me bota... #include <stdio.h> main() int x, suma, R; char o; printf("Este programa suma los digitos de un numero iterativamente.\n"); do
{ printf("Ingrese un numero:\n"); scanf("%d", &x); suma=0; while (x>0); { R=x%10; suma=suma+R; x=x/10; } printf("La suma de sus digitos es: %d\n", suma); printf("Deseas seguir ejecutando el programa S/N:"); o=getchar(); getchar(); /*AQUI ES EL PROBLEMA*/ } while(o=='s'||o=='S'); }
|
|
|
En línea
|
Tengo demasiadas fantasías para ser una ama de casa. Marilyn Monroe
|
|
|
Seaworth
Desconectado
Mensajes: 176
|
¿Por qué pones 'getchar()' dos veces? printf("Deseas seguir ejecutando el programa S/N:"); o=getchar(); getchar(); /*AQUI ES EL PROBLEMA*/
¿No bastaría con una vez?
|
|
|
En línea
|
|
|
|
dato000
Desconectado
Mensajes: 3.034
|
tenias un ";" después del "while" lo que hace que se quede en un bucle infinito, me sirvio de esta forma: #include <stdio.h> int main(){
int x, suma, R; char o;
printf("Este programa suma los digitos de un numero iterativamente.\n"); do { printf("Ingrese un numero:\n"); scanf("%d", &x); suma=0;
while(x>0) // ===> Sin punto y coma " ; " { R=x%10; suma=suma+R; x=x/10;
} printf("La suma de sus digitos es: %d\n", suma); printf("Deseas seguir ejecutando el programa S/N:"); o=getchar(); getchar(); /*AQUI ES EL PROBLEMA*/ }while(o=='s'||o=='S');
return 0;
} suerte amigo.
|
|
|
En línea
|
|
|
|
Foxy Rider
Desconectado
Mensajes: 2.407
Deprecated
|
¿No bastaría con una vez?
http://linux.die.net/man/3/getcharLa tecla que tocas es un caracter ( 's' || 'S' ), getchar() bloquea hasta que tipeas un enter ... y el enter es otro caracter, que queda en el buffer ... Saludos.
|
|
« Última modificación: 7 Febrero 2012, 05:58 am por [Alex] »
|
En línea
|
|
|
|
Seaworth
Desconectado
Mensajes: 176
|
http://linux.die.net/man/3/getcharLa tecla que tocas es un caracter ( 's' || 'S' ), getchar() bloquea hasta que tipeas un enter ... y el enter es otro caracter, que queda en el buffer ... Saludos. Ah, OK (tengo muy olvidado el C...). Gracias, saludos.
|
|
|
En línea
|
|
|
|
Odai
Desconectado
Mensajes: 25
Odai
|
tenias un ";" después del "while" lo que hace que se quede en un bucle infinito, me sirvio de esta forma: #include <stdio.h> int main(){
int x, suma, R; char o;
printf("Este programa suma los digitos de un numero iterativamente.\n"); do { printf("Ingrese un numero:\n"); scanf("%d", &x); suma=0;
while(x>0) // ===> Sin punto y coma " ; " { R=x%10; suma=suma+R; x=x/10;
} printf("La suma de sus digitos es: %d\n", suma); printf("Deseas seguir ejecutando el programa S/N:"); o=getchar(); getchar(); /*AQUI ES EL PROBLEMA*/ }while(o=='s'||o=='S');
return 0;
} suerte amigo. Lo que pasa esq el problema esta en el ciclo q no me deja correr si le pongo S, me saca del programa... a por cierrto una aclaracion soy niña NO niño
|
|
|
En línea
|
Tengo demasiadas fantasías para ser una ama de casa. Marilyn Monroe
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
getchar() != EOF
Programación C/C++
|
Treppe
|
6
|
15,490
|
20 Julio 2011, 21:48 pm
por rir3760
|
|
|
Borrar buffer , como funciona getchar
Programación C/C++
|
Jomad205
|
2
|
10,609
|
13 Noviembre 2012, 17:23 pm
por Jomad205
|
|
|
Ayuda con getchar:(
Programación C/C++
|
TopoJunior
|
5
|
3,689
|
14 Febrero 2013, 20:53 pm
por durasno
|
|
|
Problema con while y getchar.
Programación C/C++
|
Spinerker
|
3
|
2,823
|
17 Octubre 2013, 14:18 pm
por Eternal Idol
|
|
|
Te enseño a programar si me das el 15% de tu salario cuando trabajes: así funcio
Noticias
|
El_Andaluz
|
5
|
3,220
|
25 Mayo 2020, 13:50 pm
por @XSStringManolo
|
|