C/Visual C - Convertir este código de C# a C++ Win32

 
Vista:
sin imagen de perfil
Val: 46
Ha aumentado su posición en 3 puestos en C/Visual C (en relación al último mes)
Gráfica de C/Visual C

Convertir este código de C# a C++ Win32

Publicado por Meta (22 intervenciones) el 15/06/2020 02:28:42
Buenas:

Este código funciona de maravilla en C#. Quiero adaptarlo en C++ Win32 con Visual Studio Community 2019.

Código C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
using System;
 
namespace radioButton_consola_02_cs
{
    class Program
    {
        #region Variables.
        private static readonly string[] TEXTO = new string[]
        {
            "( ) Opción A        ",
            "( ) Opción B        ",
            "( ) Opción C        ",
            "    SALIR"
        };
 
        private static int itemSeñalado;
 
        private static int itemSeleccionado;
        #endregion
 
        static void Main(string[] args)
        {
            // Título de la ventana.
            Console.Title = "RadioButton";
 
            // Tamaño de la ventana.
            Console.SetWindowSize(20, 5);
 
            // Fondo verde.
            Console.BackgroundColor = ConsoleColor.Blue;
 
            // Letras negras.
            Console.ForegroundColor = ConsoleColor.White;
 
            // Oculto el cursor.
            Console.CursorVisible = false;
 
            // Almacena la tecla pulsada en la variable.
            ConsoleKey teclaInicial;
 
            do
            {
                // Limpiar pantalla.
                Console.Clear();
 
                // Posición del cursor del título del MENÚ PRINCIPAL.
                Console.SetCursorPosition(0, 0);
 
                // Título.
                Console.Write("   MENÚ PRINCIPAL   ");
 
                // Pocisión de la hora.
                Console.SetCursorPosition(4, 2);
 
                // Formato numérico dd/MM/yyyy.
                Console.Write(DateTime.Now.ToString("ddd dd MMM"));
 
                // Almacena en la variable una tecla pulsada.
                teclaInicial = Console.ReadKey(true).Key;
 
                // ¿Haz pulsado la tecla Enter?
                if (teclaInicial == ConsoleKey.Enter)
                {
                    // Sí. Se ejecuta esta función.
                    MenuPrincipal();
                }
            } while (teclaInicial != ConsoleKey.Escape);
        }
 
        #region Menú Principal.
        private static void MenuPrincipal()
        {
            bool salir = false;
 
            // En itemSelecionado:
            // -1 = Sin seleccionar con * ninguna opción.
            // 0 = Seleccionar con * la Opción A.
            // 1 = Seleccionar con * la Opción B.
            // 2 = Seleccionar con * la opción C.
 
            // Capturar tecla para luego validar.
            ConsoleKey tecla;
 
            // Cada vez que se vuelva al menú, está señalizado con el *.
            itemSeñalado = 0;
 
            do
            {
                //******************************************************************
                // Dibujo el menú principal.
 
                // Limpiar pantalla.
                Console.Clear();
 
                for (int k = 0; k < TEXTO.Length; k++)
                {
                    Console.SetCursorPosition(0, k);
                    Console.Write(itemSeñalado == k ? "> " : "  ");
                    Console.Write(TEXTO[k]);
                    Console.SetCursorPosition(3, k);
                    Console.Write(itemSeleccionado == k ? "*" : " ");
                }
 
                // Fin de pintar el menú principal.
                //******************************************************************
 
                // Leer tecla ingresada por el usuario.
                tecla = Console.ReadKey(true).Key;
 
                switch (tecla)
                {
                    case ConsoleKey.Enter:
                        if (itemSeñalado < 3)
                        {
                            itemSeleccionado = itemSeñalado;
                        }
                        salir = (itemSeñalado == TEXTO.Length - 1);
                        break;
 
                    case ConsoleKey.DownArrow:
                        if (++itemSeñalado >= TEXTO.Length)
                        {
                            itemSeñalado = 0;
                        }
                        break;
 
                    case ConsoleKey.UpArrow:
                        if (--itemSeñalado < 0)
                        {
                            itemSeñalado = TEXTO.Length - 1;
                        }
                        break;
                }
                // Uso la tecla escape como salida.
            } while (!salir);
        }
        #endregion
    }
}

Muchas gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder