Предмет:
ИнформатикаАвтор:
pogoОтвет:
Для этого можно использовать библиотеку windows.h и функцию GetAsyncKeyState(). Пример кода:
#include <iostream>
#include <Windows.h>
int main()
{
int selected_item = 1; // выбранный пункт меню
bool is_enter_pressed = false; // была ли нажата клавиша Enter
while (!is_enter_pressed)
{
std::system("cls"); // очистим экран консоли
std::cout << "МЕНЮ\n\n";
// выведем список пунктов меню и подсветим выбранный пункт
if (selected_item == 1) std::cout << "-> ";
std::cout << "Ввести записи\n";
if (selected_item == 2) std::cout << "-> ";
std::cout << "Вывести записи\n";
if (selected_item == 3) std::cout << "-> ";
std::cout << "Рассчитать количество введенных записей\n";
// обработаем ввод с клавиатуры
for (int i = 1; i <= 3; i++)
{
if (GetAsyncKeyState(VK_UP) && selected_item > 1) selected_item--;
if (GetAsyncKeyState(VK_DOWN) && selected_item < 3) selected_item++;
if (GetAsyncKeyState(VK_RETURN)) is_enter_pressed = true;
}
}
std::system("cls"); // очистим экран консоли
std::cout << "Выбран пункт " << selected_item << std::endl;
return 0;
}
В данном примере список пунктов меню выводится в консольном окне, а выбор осуществляется с помощью клавиш Up и Down для перемещения между пунктами и клавиши Enter для выбора пункта. Функция GetAsyncKeyState() проверяет, была ли нажата клавиша, и если была, то изменяет выбранный пункт или выходит из цикла выбора пункта.
Автор:
jaedenwf8mВідповідь:
Для этого можно использовать библиотеку windows.h и функцию GetAsyncKeyState(). Пример кода:
#include <iostream>
#include <Windows.h>
int main()
{
int selected_item = 1; // выбранный пункт меню
bool is_enter_pressed = false; // была ли нажата клавиша Enter
while (!is_enter_pressed)
{
std::system("cls"); // очистим экран консоли
std::cout << "МЕНЮ\n\n";
// выведем список пунктов меню и подсветим выбранный пункт
if (selected_item == 1) std::cout << "-> ";
std::cout << "Ввести записи\n";
if (selected_item == 2) std::cout << "-> ";
std::cout << "Вывести записи\n";
if (selected_item == 3) std::cout << "-> ";
std::cout << "Рассчитать количество введенных записей\n";
// обработаем ввод с клавиатуры
for (int i = 1; i <= 3; i++)
{
if (GetAsyncKeyState(VK_UP) && selected_item > 1) selected_item--;
if (GetAsyncKeyState(VK_DOWN) && selected_item < 3) selected_item++;
if (GetAsyncKeyState(VK_RETURN)) is_enter_pressed = true;
}
}
std::system("cls"); // очистим экран консоли
std::cout << "Выбран пункт " << selected_item << std::endl;
return 0;
}
В данном примере список пунктов меню выводится в консольном окне, а выбор осуществляется с помощью клавиш Up и Down для перемещения между пунктами и клавиши Enter для выбора пункта. Функция GetAsyncKeyState() проверяет, была ли нажата клавиша, и если была, то изменяет выбранный пункт или выходит из цикла выбора пункта.
Автор:
cassidy8nknДобавить свой ответ
Предмет:
Українська моваАвтор:
orenОтветов:
Смотреть
Предмет:
АлгебраАвтор:
ellismichaelОтветов:
Смотреть