Autor
|
Tema: Duda con menu de opciones (Leído 8,036 veces)
|
Xtrangr
Desconectado
Mensajes: 10
|
Hola que tal, estoy programando una calculadora como para empezar con este lenguaje. El menu de opciones lo estoy haciendo con un do while y luego con switch tengo un menu de opciones del 1 al 9 dentro del do while, mi problema es que necesito que al ingresar el primer numero, el menu ser cargue con el valor que ingrese como por ejemplo 1-Ingrese un numero (X) Cuando ingreso un numero por ejemplo 5 el menu deberia iterar otra vez con el nuevo numero quedando asi 1-Ingrese un numero (5) No se me ocurre como hacer esto, si necesitan algo más no duden en preguntarme.
|
|
« Última modificación: 2 Septiembre 2017, 01:26 am por Xtrangr »
|
En línea
|
|
|
|
|
Xtrangr
Desconectado
Mensajes: 10
|
Me falto aclarar que estoy programando en C, ese codigo tambien funciona en c? y puede ser que con un flag? se pueda hacer porque creo que vi por ahi, pero no termine de entender
|
|
|
En línea
|
|
|
|
ivancea96
Desconectado
Mensajes: 3.412
ASMático
|
El código de la respuesta, sí, sirve en C. Incluyendo la librería <windows.h>
Tendrás que explicar lo de hacerlo con una "flag". Eso es un concepto genérico que no dice mucho en este caso.
|
|
|
En línea
|
|
|
|
Xtrangr
Desconectado
Mensajes: 10
|
El código de la respuesta, sí, sirve en C. Incluyendo la librería <windows.h>
Tendrás que explicar lo de hacerlo con una "flag". Eso es un concepto genérico que no dice mucho en este caso.
Algo asi como poner un if y una bandera. Si se ingreso el numero a entra al if y cambias a por %d, me dijeron eso pero no lo entiendo.
|
|
|
En línea
|
|
|
|
ivancea96
Desconectado
Mensajes: 3.412
ASMático
|
Mm haz una cosa. Escríbeme qué es lo que quieres que ocurra exactamente. El mensaje con el número "(5)", quieres que aparezca después de escribir el número, debajo, o quieres que reemplace el número de arriba? 1-Ingrese un numero (X) 5 1-Ingrese un numero (5) ... A esto último es a lo que supongo que se refiere el que te dijo eso.
|
|
|
En línea
|
|
|
|
Xtrangr
Desconectado
Mensajes: 10
|
Compilo el programa sale esto en la consola(obviando todas las variables y demas para no confundirte más): printf("1- Ingresar primer numero (A)\n"); printf("2- Ingresar segundo operando (B)\n"); printf("3- Calcular la suma (A+B)\n"); printf("4- Calcular la resta (A-B)\n"); printf("5- Calcular la division (A/B)\n"); printf("6- Calcular la multiplicacion (A*B)\n"); printf("7- Calcular el factorial (A!)\n"); printf("8- Calcular todas las operacione\n"); printf("9- Salir\n");
scanf("%d",&opcion); Escribo 1 así eligo la opcion numero 1 que es la de ingresar el primer número, luego escribo un 5. Ahora lo que quiero que haga el programa es que me vuelva a aparecer el menu pero que en vez de que salga "1- Ingresar primer numero (A)" salga "1- Ingresar primer numero (5)" en la consola, y asi con las demas opciones cuando las seleccione
|
|
|
En línea
|
|
|
|
ivancea96
Desconectado
Mensajes: 3.412
ASMático
|
Uhm. Tienes varias maneras. La primera es la que supongo que te comentaron. A la hora de mostrar el menú: if(numeroAIngresado){ printf("Ingresar numero (%i)", numeroA); }else{ printf("Ingresar numero (A)"); }
Otra opción, para hacerlo más automático, sería: char stringNumeroA[20]; stringNumeroA[0] = 'A'; // Por defecto stringNumeroA[1] = '\0'; printf("Ingresar numero (%d)", stringNumeroA); //... // Cuando se ha ingresado A sprintf(stringNumeroA, "%d", numeroA); // Guardamos el nuevo valor en la string
|
|
|
En línea
|
|
|
|
Xtrangr
Desconectado
Mensajes: 10
|
Lo siento es que no pude deducir lo que hiciste, me harias un gran favor si lo puedes editar tu y si deseas explicarme como funciona intente copiarlo sin saber como funciona pero no me salio int main() { char seguir='s'; int opcion=0; float num1; float num2; float rta;
do { printf("1- Ingresar 1er operando (A)\n"); printf("2- Ingresar 2do operando (B)\n"); printf("3- Calcular la suma (A+B)\n"); printf("4- Calcular la resta (A-B)\n"); printf("5- Salir\n");
scanf("%d",&opcion);
switch(opcion) { case 1: printf("Ingrese el primer numero: \n");//Esto ni los demas ya no irian ya que el numero que ingreso se escribe en el mismo menu scanf("%f" , &num1); break; case 2: printf("Ingrese el segundo numero: \n"); scanf("%f" , &num2); break; case 3: rta=suma( num1 , num2); printf("La suma es %f\n" , rta); break; case 4: rta=resta(num1 , num2); printf("La resta es %f\n" , rta); break; case 5: seguir = 'n'; break;
} }while(seguir=='s'); return 0;
|
|
|
En línea
|
|
|
|
ivancea96
Desconectado
Mensajes: 3.412
ASMático
|
Olvídate de la segunda forma que puse.
La primera, no es más que un if. Cambias los printf que tienes por ese if. Pruebalo con el primer printf primero.
Lo único que no tienes en tu código es la variable "numeroAIngresado". Eso solo es un bool que indica, si es true, que ya se ingresó A. Basta que inicialices esa variable a false y que la pongas a true cuando haya ingresado A. El resto, está en el código que puse.
|
|
|
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
|
|