elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: Análisis del vídeo del hackeo al Sindicato de los Mossos de Esquadra


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse)
| | |-+  Duda con menu de opciones
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Duda con menu de opciones  (Leído 1,442 veces)
Xtrangr

Desconectado Desconectado

Mensajes: 10


Ver Perfil
Duda con menu de opciones
« en: 2 Septiembre 2017, 01:22 »

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 por Xtrangr » En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.294


ASMático


Ver Perfil WWW
Re: Duda con menu de opciones
« Respuesta #1 en: 2 Septiembre 2017, 01:41 »

Intuyo que lo que quieres es editar lo que ya hay escrito en la consola.
Si es así, y si estás empezando en el lenguaje, te diría que pases de esto. Es más "problemático" de lo que parece.
Sinceramente, pasa de esto. Tendrás que usar una librería o la API del sistema operativo (librería windows.h en caso de windows) para hacerlo.
Si igualmente quieres hacerlo, aquí el primer comentario ya pone un código para hacerlo: https://stackoverflow.com/questions/27337481/how-to-change-a-character-in-c-console-that-was-printed-to-the-screen-earlier


En línea

Xtrangr

Desconectado Desconectado

Mensajes: 10


Ver Perfil
Re: Duda con menu de opciones
« Respuesta #2 en: 2 Septiembre 2017, 01:54 »

Intuyo que lo que quieres es editar lo que ya hay escrito en la consola.
Si es así, y si estás empezando en el lenguaje, te diría que pases de esto. Es más "problemático" de lo que parece.
Sinceramente, pasa de esto. Tendrás que usar una librería o la API del sistema operativo (librería windows.h en caso de windows) para hacerlo.
Si igualmente quieres hacerlo, aquí el primer comentario ya pone un código para hacerlo: https://stackoverflow.com/questions/27337481/how-to-change-a-character-in-c-console-that-was-printed-to-the-screen-earlier
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 Desconectado

Mensajes: 3.294


ASMático


Ver Perfil WWW
Re: Duda con menu de opciones
« Respuesta #3 en: 2 Septiembre 2017, 01:57 »

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 Desconectado

Mensajes: 10


Ver Perfil
Re: Duda con menu de opciones
« Respuesta #4 en: 2 Septiembre 2017, 02:47 »

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 Desconectado

Mensajes: 3.294


ASMático


Ver Perfil WWW
Re: Duda con menu de opciones
« Respuesta #5 en: 2 Septiembre 2017, 13:04 »

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?

Código:
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 Desconectado

Mensajes: 10


Ver Perfil
Re: Duda con menu de opciones
« Respuesta #6 en: 2 Septiembre 2017, 20:13 »

Compilo el programa sale esto en la consola(obviando todas las variables y demas para no confundirte más):
         
Código:
        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 Desconectado

Mensajes: 3.294


ASMático


Ver Perfil WWW
Re: Duda con menu de opciones
« Respuesta #7 en: 2 Septiembre 2017, 20:23 »

Uhm. Tienes varias maneras.
La primera es la que supongo que te comentaron. A la hora de mostrar el menú:

Código
  1. if(numeroAIngresado){
  2.    printf("Ingresar numero (%i)", numeroA);
  3. }else{
  4.    printf("Ingresar numero (A)");
  5. }

Otra opción, para hacerlo más automático, sería:
Código
  1. char stringNumeroA[20];
  2. stringNumeroA[0] = 'A'; // Por defecto
  3. stringNumeroA[1] = '\0';
  4.  
  5. printf("Ingresar numero (%d)", stringNumeroA);
  6.  
  7. //...
  8.  
  9. // Cuando se ha ingresado A
  10. sprintf(stringNumeroA, "%d", numeroA); // Guardamos el nuevo valor en la string
En línea

Xtrangr

Desconectado Desconectado

Mensajes: 10


Ver Perfil
Re: Duda con menu de opciones
« Respuesta #8 en: 2 Septiembre 2017, 21:59 »

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
Código:
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 Desconectado

Mensajes: 3.294


ASMático


Ver Perfil WWW
Re: Duda con menu de opciones
« Respuesta #9 en: 2 Septiembre 2017, 22:02 »

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

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Habilitar opciones del menu
Programación General
Erik# 0 821 Último mensaje 21 Septiembre 2008, 21:35
por Erik#
Opciones basicas del menu
Programación General
Erik# 0 693 Último mensaje 21 Septiembre 2008, 21:38
por Erik#
Menu opciones anti-batch injections. Permite hasta 10 opciones.
Scripting
carlitos.dll 0 1,445 Último mensaje 7 Octubre 2008, 08:21
por carlitos.dll
Ayuda menú de opciones
Programación C/C++
Bus_19 3 711 Último mensaje 18 Noviembre 2012, 20:09
por leosansan
Duda con C, funciones y menu de opciones.
Programación C/C++
faakuh 3 460 Último mensaje 10 Agosto 2017, 23:34
por MAFUS
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines