Sábado 14 de Diciembre de 2024, 22:44
SoloCodigo
Bienvenido(a),
Visitante
. Por favor,
ingresa
o
regístrate
.
¿Perdiste tu
email de activación?
Inicio
Foros
Chat
Ayuda
Buscar
Ingresar
Registrarse
SoloCodigo
»
Foros
»
Programación General
»
C/C++
(Moderador:
Eternal Idol
) »
[Solucionado]Problemas con el buffer de entrada
« anterior
próximo »
Imprimir
Páginas: [
1
]
Autor
Tema: [Solucionado]Problemas con el buffer de entrada (Leído 1141 veces)
lambda
Nuevo Miembro
Mensajes: 5
[Solucionado]Problemas con el buffer de entrada
«
en:
Sábado 8 de Enero de 2011, 00:51 »
0
Hola que tal a todos mi problema es el siguiente: No puedo limpiar el buffer de entrada y debido a esto mi programa se salta una instrucción en la función "pedidos" .
Código: C
#include <stdio.h>
#include <ncurses.h>
typedef
struct
vx
{
char
calle
[
30
]
;
char
tipo_cantidad
[
15
]
;
int
cantidad
;
}
vx
;
void
importe_venta
(
void
)
;
void
pedidos
(
void
)
;
int
main
(
void
)
{
printf
(
"Elija una opcion : "
)
;
printf
(
"a) Venta t"
)
;
printf
(
"b) Pedido t"
)
;
char
opc
;
scanf
(
"%c"
,&
opc
)
;
//while(getchar()!='n');
switch
(
opc
)
{
case
'a'
:
importe_venta
(
)
;
break
;
case
'b'
:
pedidos
(
)
;
break
;
}
return
0
;
}
void
importe_venta
(
void
)
{
int
cantidad
=
0
;
int
precio
=
0
;
printf
(
"Cantidad >>> "
)
;
scanf
(
"%d"
,&
cantidad
)
;
printf
(
"Precio >>> "
)
;
scanf
(
"%d"
,&
precio
)
;
int
l
=
cantidad
*
precio
;
printf
(
"Importe >>> %d "
,
l
)
;
}
void
pedidos
(
void
)
{
vx pedido
;
//while(getchar()!='n');
printf
(
"Domicilio >>> "
)
;
scanf
(
"%30[^n],pedido.calle);
printf("
%
sn
",pedido.calle);
printf("
Cantidad total
>>>
");
scanf("
%
d
",&pedido.cantidad);
//print("
%
dn
",pedido.cantidad);
printf("
Cantidad de cada tipo
>>>
");
scanf("
%
30
[
^
n
]
",pedido.tipo_cantidad);
printf("
%
sn
",pedido.tipo_cantidad);
}
Sucede que cuando elijo la opción "b" que es para acceder a la función "pedidos" se salta el scanf que pide el domicilio,ya he probado con fflush y no me ha funcionado.
Espero que me puedan ayudar, gracias.
Tweet
«
última modificación: Lunes 10 de Enero de 2011, 04:07 por lambda
»
LapizTolita
Miembro activo
Mensajes: 27
Re: Problemas con el buffer de entrada
«
Respuesta #1 en:
Sábado 8 de Enero de 2011, 13:21 »
0
foros.solocodigo.com/viewtopic.php?f=18&t=43072
Ahí explica porque no usar fflush con stdin.
El único error que vi es este :
47 scanf("%30[^n],pedido.calle);
Imprimir
Páginas: [
1
]
« anterior
próximo »
SoloCodigo
»
Foros
»
Programación General
»
C/C++
(Moderador:
Eternal Idol
) »
[Solucionado]Problemas con el buffer de entrada