Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.83/403: Рейтинг темы: голосов - 403, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 03.01.2010
Сообщений: 42

Перемещение курсора в консоли

13.05.2010, 10:18. Показов 84039. Ответов 27
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите реализовать новичку перемещение курсора в консоли.Т.е. есть меню например
Создать базу
Редактировать
Удалить
И нужно передвигатся по нему курсором
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.05.2010, 10:18
Ответы с готовыми решениями:

Перемещение курсора в консоли
Работаю над матричным калькулятором в консоли. Для оформления ввода матрицы надо, чтобы после ввода элемента, число считывалось, а курсор...

Перемещение позиции курсора в консоли
Приветы форумчанам, вопрос такой. Нужно переместить позицию курсора на произвольную позицию в консольном приложении. Есть ли такая функция...

Перемещение курсора
Мне нужно сделать что-то типа интерфейса на консоли.Как задавать координаты курсора на консоли в С++?(в Паскале аналог gotoxy()). ...

27
113 / 113 / 28
Регистрация: 05.07.2009
Сообщений: 225
08.08.2010, 11:50
Студворк — интернет-сервис помощи студентам
0
0 / 0 / 0
Регистрация: 03.08.2010
Сообщений: 31
09.08.2010, 10:38
А у меня вот так и курсор не двигается
Миниатюры
Перемещение курсора в консоли  
0
13 / 13 / 0
Регистрация: 29.10.2009
Сообщений: 71
28.06.2011, 03:59
надо было человеку ncurses подсказать , а не слать в глушь
0
Заблокирован
28.06.2011, 08:51
Цитата Сообщение от xGravity Посмотреть сообщение
Помогите реализовать новичку перемещение курсора в консоли.Т.е. есть меню например
Создать базу
Редактировать
Удалить
И нужно передвигатся по нему курсором
Понимаю вас)))
Кстати! Очень интересная вещь) Я сам когда то целую библиотеку сделал для управления консолью)
Можно было выводить цветной текст в любой точке консоли, вводить данные в консоль без нажатия ентер) Можно было ткнуть мышкой в центре консоли, и там менюшка откроется)

Можно было сделать игрушку "змейка" и управлять змейкой как кнопками, так и мышкой)

В консоли можно даже пиксельную графику рисовать. Кружочки там, точечки)
Можно вывести в консоль картинку bmp.

Я понимаю, что на самом деле консоль не предназначена для таких забав) Но когда-то, когда я только-только изучал с++, я вот что только не творил с этой многострадальной консолью.
Я даже мультики в ней на экран выводил))

К сожалению, за ненадобностью эта библиотека-обертка "консоль" где-то у меня уже затерялась.
Но на самом деле, нечто подобное сделать - ничего сложного.

Вот здесь все о консоли "из первых рук"
http://msdn.microsoft.com/en-u... S.85).aspx

А вот здесь примерно тоже самое, только на русском языке.

http://vsokovikov.narod.ru/New... con_fn.htm

Вот с этой последней ссылочки я и достал практически все, что мне нужно было знать о консоли.Фактически, на этой одной страничке обозначен весь интерфейс стандартной консоли Виндовс. Как видите, функций не много. И изучить их все - дело 1-2 дней если не напрягаться.
0
 Аватар для Egor138
32 / 13 / 3
Регистрация: 10.08.2012
Сообщений: 619
Записей в блоге: 2
17.08.2012, 20:11
Цитата Сообщение от neske Посмотреть сообщение
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
#include <iostream>
#include <conio.h>
#include <windows.h>
 
int main()
{
        int x=0, y=0;
        int step=10;
        char c;
 
        SetCursorPos(x, y);
        do {
                c=getch();
                switch(c){
                        case 75: SetCursorPos(x-=step, y); std::cout << "LEFT.\n"; break;
                        case 77: SetCursorPos(x+=step, y); std::cout << "RIGHT.\n"; break;
                        case 72: SetCursorPos(x, y-=step); std::cout << "UP.\n"; break;
                        case 80: SetCursorPos(x, y+=step); std::cout << "DOWN.\n"; break;
                }
        } while(c != 27); // Esc
 
        system("pause");
        return 0;
}
Подскажите где вы коды к кнопкам брали
0
DU
1500 / 1146 / 165
Регистрация: 05.12.2011
Сообщений: 2,279
17.08.2012, 21:27
нажимаете кнопку, смотрите какой код. делов то.
C++
1
2
3
4
5
for(;;)
{
  int c=getch();
  std::cout << "code = " << c << std::endl;
}
Помню, что для спец кнопок иногда нужно два раза взять символ. в частности это про стрелки.
вот у меня завалялся примерно такой код:

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
  for (;;)
  {
    int ch = getch();
    if (ch == -32) // magic value // вот тут эта магия с двойным взятием введенного симсола проявляется
      ch = getch();
 
    switch (ch)
    {
      case 72 : // up
      {
        break;
      }
 
      case 75 : // left
      {
        break;
      }
 
      case 77 : // right
      {
        break;
      }
 
      case 80 : // down
      {
        break;
      }
 
      case 13 : // enter
      {
        break;
      }
 
      case 27 : // escape
      {
        break;
      }
    }
  }
1
 Аватар для Egor138
32 / 13 / 3
Регистрация: 10.08.2012
Сообщений: 619
Записей в блоге: 2
20.08.2012, 22:17
Цитата Сообщение от neske Посмотреть сообщение
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
#include <iostream>
#include <conio.h>
#include <windows.h>
 
int main()
{
        int x=0, y=0;
        int step=10;
        char c;
 
        SetCursorPos(x, y);
        do {
                c=getch();
                switch(c){
                        case 75: SetCursorPos(x-=step, y); std::cout << "LEFT.\n"; break;
                        case 77: SetCursorPos(x+=step, y); std::cout << "RIGHT.\n"; break;
                        case 72: SetCursorPos(x, y-=step); std::cout << "UP.\n"; break;
                        case 80: SetCursorPos(x, y+=step); std::cout << "DOWN.\n"; break;
                }
        } while(c != 27); // Esc
 
        system("pause");
        return 0;
}
Если я удерживаю стрелку циклом выводятся надписи. Как этого избежать. Чтобы когда я нажал и удерживал стрелку вывод произожел один раз???
0
0 / 0 / 0
Регистрация: 12.01.2023
Сообщений: 2
12.01.2023, 20:08
int main()
{
int a;
cout << "cursor -> _____"<<"\b\b\b\b\b";
cin >> a;
return 0;
}
так можно переместить курсор по одной строке '\b' == один шаг назад
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
12.01.2023, 20:08

Перемещение курсора
Подскажите как передвинуть курсор в любую точку экрана по координатам x и y. Или каким нибуд другим способом?

Перемещение курсора в файле
Здравствуйте! Пишу программу, где работаю с файлом с помощью потока, и понадобилось переместить курсор в начало строки, т.к. getline при...

перемещение курсора в файле
как мне после первого цикла вернуть курсор в начала файла out? fseek ругает то, что первый элемент другого типа + без понятия количество...

Координаты курсора в консоли
Существует аналог функции паскалевской GoToXY(x,y) - перемещает курсор по заданным координатам. Получается у меня задание такое, что надо...

Смещение курсора по консоли
Всем привет! Я работаю в программе dev c++. И мне нужна помощь,чтобы определенный символ я смог переместить в любое место консоли...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
28
Ответ Создать тему
Новые блоги и статьи
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru