Autor
|
Tema: Duda con menu de opciones (Leído 8,037 veces)
|
Xtrangr
Desconectado
Mensajes: 10
|
Lo hice asi pero esta mal, no se en que me estoy equivocando int main() { char seguir='s'; int opcion=0; float num1; float rta; int numeroAIngresado=0;
do { if(numeroAIngresado) { printf("1- Ingresar 1er operando (%f)\n", num1); numeroAIngresado=1; } else { printf("1- Ingresar 1er operando (A)\n"); } printf("2- Salir\n");
scanf("%d",&opcion);
switch(opcion) { case 1: printf("Ingrese el primer numero: \n"); scanf("%f" , &num1); break;
} }while(seguir=='s'); return 0;
|
|
« Última modificación: 2 Septiembre 2017, 22:37 pm por Xtrangr »
|
En línea
|
|
|
|
ivancea96
Desconectado
Mensajes: 3.412
ASMático
|
 numeroAInresado es una flag. ¿Cuándo la pones a 1? Pues cuando se ingrese el numero. ¿Después de qué línea "num1" tiene valor?
|
|
|
En línea
|
|
|
|
Xtrangr
Desconectado
Mensajes: 10
|
Entonces la bandera tiene que ir en el case 1?
|
|
|
En línea
|
|
|
|
ivancea96
Desconectado
Mensajes: 3.412
ASMático
|
Ahí la pones a 1. Ahí es donde el número ah sido ingresado, ¿no? El nombre de las variables representa qué es lo que significa. Si quieres que esa variable signifique "si el número ha sido ingresado o no", haz que sea cierto.
|
|
|
En línea
|
|
|
|
Xtrangr
Desconectado
Mensajes: 10
|
num1 tiene valor en el case 1 de ahi quiero que ese valor se cargue en el menu, entonces tendria que hacer el flag en case 1 case 1: scanf("%f" , &num1); if(numeroAIngresado) { printf("1- Ingresar 1er operando (%f)\n", num1); numeroAIngresado=1; } else { printf("1- Ingresar 1er operando (A)\n"); } break; No logro entender si numeroAIngresado=0, entra en el if y luego el string pasa a mostrar el valor luego cambio el valor a 1 ..... No entiendo
|
|
|
En línea
|
|
|
|
ivancea96
Desconectado
Mensajes: 3.412
ASMático
|
Entonces la bandera tiene que ir en el case 1?
Poner la bandera a 1 en el case. Eso y nada más, solo el numeroAIngresado=1;. Es eso lo que estás indicando: que el número ha sido ingresado. El resto, donde estaba.
|
|
|
En línea
|
|
|
|
Xtrangr
Desconectado
Mensajes: 10
|
Perdón pero no lo logro entender, si me ayudas escribiendolo tu creo que se me armaria el puzzle que tengo ahora en mi cabeza
|
|
|
En línea
|
|
|
|
ivancea96
Desconectado
Mensajes: 3.412
ASMático
|
Lo tenías hacho. Copio tu código: int main() { char seguir='s'; int opcion=0; float num1; float rta; int numeroAIngresado=0; do { if(numeroAIngresado) { printf("1- Ingresar 1er operando (%f)\n", num1 ); numeroAIngresado=1; } else { printf("1- Ingresar 1er operando (A)\n"); } switch(opcion) { case 1: printf("Ingrese el primer numero: \n"); break; } }while(seguir=='s'); return 0; }
 numeroAInresado es una flag. ¿Cuándo la pones a 1? Pues cuando se ingrese el numero. ¿Después de qué línea "num1" tiene valor? int main() { char seguir='s'; int opcion=0; float num1; float rta; int numeroAIngresado=0; do { if(numeroAIngresado) { printf("1- Ingresar 1er operando (%f)\n", num1 ); } else { printf("1- Ingresar 1er operando (A)\n"); } switch(opcion) { case 1: printf("Ingrese el primer numero: \n"); numeroAIngresado=1; break; } }while(seguir=='s'); return 0; }
|
|
|
En línea
|
|
|
|
Xtrangr
Desconectado
Mensajes: 10
|
Ahora entiendo todo, ahora me queda mucho más claro el concepto de flag muchas gracias por tu ayuda
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Menu opciones anti-batch injections. Permite hasta 10 opciones.
Scripting
|
carlitos.dll
|
0
|
3,237
|
7 Octubre 2008, 08:21 am
por carlitos.dll
|
|
|
Ayuda menú de opciones
Programación C/C++
|
Bus_19
|
3
|
2,516
|
18 Noviembre 2012, 20:09 pm
por leosansan
|
|
|
Duda con C, funciones y menu de opciones.
Programación C/C++
|
faakuh
|
3
|
5,059
|
10 Agosto 2017, 23:34 pm
por MAFUS
|
|
|
mi programa no lee las opciones del menu
Programación C/C++
|
paris2312
|
3
|
2,987
|
26 Junio 2018, 18:35 pm
por ThunderCls
|
|
|
Menú de opciones de Dongles
Sugerencias y dudas sobre el Foro
|
Geovane
|
0
|
2,473
|
2 Enero 2019, 21:13 pm
por Geovane
|
|