none
Aplicación de Consola que pida un dato, y reaccione dependiendo de la respuesta RRS feed

  • Pregunta

  • Hola, en esta ocasión me gustaría resolver esto:

    Mi duda es ¿Cómo puedo hacer que una aplicación de consola me pida un dato y reaccione según la respuesta?

    Les dejo un fragmento de mi código:

    Module Module1
    
        Sub Main()
    
            'Datos de la versión
            Console.WriteLine("Modo a prueba de fallos")
            Console.WriteLine("Kevin Figueroa")
            Console.WriteLine("Copyright 2017")
            Console.WriteLine("*****************************************************************")
            Console.WriteLine()
    
            'Menú Principal
    A:      Console.WriteLine("¡Sea Bienvenido!")
            Console.WriteLine("Por favor, indique una sección para poder empezar a trabajar")
            Console.WriteLine("Para saber qué términos puede usar, escriba 'Términos'")
            Console.ReadLine()
    
            Dim SelecciónMenúPrincipal As String
            SelecciónMenúPrincipal = Console.ReadLine()
    
            Select Case SelecciónMenúPrincipal
                Case "Términos"
                    Console.WriteLine("[Ayuda] - Muestra el Centro de Ayuda en Html.")
                    Console.WriteLine("[Acercade] - Muestra datos de GeckLab como su autor o la versión.")
                    Console.WriteLine("[HerrBásicas] - Abre la sección 'Herramientas Básicas'.")
                    Console.WriteLine("[Conversores] -  Abre la sección de los conversores, entre ellos está el de peso.")
                    Console.WriteLine("[Salir] - Cierra la aplicación.")
            End Select
    
            GoTo A
        End Sub
    
    End Module

    Lo que quiero es que cuando ponga "Términos" me despliegue un menú con las opciones disponibles, intenté con la instrucción If  De esta manera.

    Console.ReadLine() SelecciónMenúPrincipal = Console.ReadLine If SelecciónMenúPrincipal = "Términos" Then Console.WriteLine("[Ayuda] - Muestra el Centro de Ayuda en Html.") Console.WriteLine("[Acercade] - Muestra datos de GeckLab como su autor o la versión.") Console.WriteLine("[HerrBásicas] - Abre la sección 'Herramientas Básicas'.") Console.WriteLine("[Conversores] - Abre la sección de los conversores, entre ellos está el de peso.") Console.WriteLine("[Salir] - Cierra la aplicación.") End If

    GoTo A

    Pero no pasó nada al poner "Términos".

    También intenté con Select Case, pero nada. (El código del select case, es el primero)

    Gracias de antemano.



    domingo, 29 de octubre de 2017 22:50

Respuestas

  • En el código que adjuntas intentas leer, en dos instrucciones distintas, una línea de caracteres. 

    Console.WriteLine("Para saber qué términos puede usar, escriba 'Términos'")
    Console.ReadLine()
    
    Dim SelecciónMenúPrincipal As String
    SelecciónMenúPrincipal = Console.ReadLine()

    Por otro lado, te sugiero definir una letra o un número para cada opción del menú para evitar escribir una palabra, así mismo, evita la instrucción GoTo y usa a cambio una estructura de control de flujo, por ejemplo, una estructura de bucle.

    lunes, 30 de octubre de 2017 0:28