4 / 4 / 3
Регистрация: 13.07.2014
Сообщений: 129
1

Разделить консоль

28.03.2015, 19:22. Показов 4528. Ответов 19
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Можно ли разделить консоль на несколько частей и в каждой выводить свою строку? Например, чтобы консоль поделилась на две части, где в первой колонке ввод переменной, а во второй -- ее вывод
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.03.2015, 19:22
Ответы с готовыми решениями:

Можно ли разделить скорость 50Мбит/с разделить по 5Мбит/с?
С помощью кого оборудования? Что бы скорость разбить на 10 ПК равными долями? Может роутер или...

Подготовить числа для вывода на консоль через ASCII и вывести на консоль
В регистре eax находится число, которое нужно превратить в ASCII-код и вывести на консоль символы,...

Программа выводит ответ и в консоль и в файл, хотя нужно только в консоль
когда выбираю вывести в консоль, программа выводит ответ и в консоль, и в файл #include...

Не выводит текст в консоль, открывается пустая консоль без текста
Приложение должно вызывать консоль при выполнении каких то условий. В консоль записывается текст...

19
7785 / 6553 / 2983
Регистрация: 14.04.2014
Сообщений: 28,617
28.03.2015, 20:16 2
Стандартными средствами - нет.
0
4 / 4 / 3
Регистрация: 13.07.2014
Сообщений: 129
28.03.2015, 20:30  [ТС] 3
Цитата Сообщение от nmcf Посмотреть сообщение
Стандартными средствами - нет.
А как иначе можно сделать ввод числа только после вывода всего теста? Например:
Вывод:
Hello, User!
Enter number:
End

И после вывода можно ввести число после двоеточия.

Добавлено через 1 минуту
Пробовал так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
COORD position;
    HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
 
    cout << "Start\n";
    cout << "Enter num: ";
    cout << "\nEnd\n";
 
    position.Y = 1;
    position.X = 11;
 
    SetConsoleCursorPosition(hConsole, position);
 
    int a1;
    cin >> a1;
Но код слишком объемный получается
0
7785 / 6553 / 2983
Регистрация: 14.04.2014
Сообщений: 28,617
28.03.2015, 21:35 4
Ну вот так, как у тебя - с помощью этих функций.
0
Эксперт С++
8739 / 4317 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
28.03.2015, 21:55 5
Цитата Сообщение от nmcf Посмотреть сообщение
Стандартными средствами - нет.
ответ - не верный.


Цитата Сообщение от Andrey040601 Посмотреть сообщение
Например, чтобы консоль поделилась на две части, где в первой колонке ввод переменной, а во второй -- ее вывод
http://rextester.com/EML26797

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
 
int main()
{
    std::cout << "Hello, world!\n";
    
    const char* names[] = { "one", "two", "foo" };
    const int  values[] = {  1,  1000, 1000000  };
    
    for(size_t n=0;n<3;++n)
        std::cout.width (20),
        std::cout.setf(std::ios::left),
        std::cout<< names[n] << values[n]<<'\n';
}
Цитата Сообщение от Andrey040601 Посмотреть сообщение
Пробовал так
конечно, используя платформо-специфичное апи можно сделать намного больше всего.
например - цветной текст, который можно перетаскивать мышкой.
https://youtu.be/QMYfkOtYYlg
0
7785 / 6553 / 2983
Регистрация: 14.04.2014
Сообщений: 28,617
29.03.2015, 09:06 6
Цитата Сообщение от hoggy Посмотреть сообщение
ответ - не верный.
Неужели? И как это сделать не используя управление курсором?
0
Неэпический
17869 / 10634 / 2054
Регистрация: 27.09.2012
Сообщений: 26,736
Записей в блоге: 1
29.03.2015, 10:47 7
hoggy, а где
в первой колонке ввод переменной, а во второй -- ее вывод
0
4 / 4 / 3
Регистрация: 13.07.2014
Сообщений: 129
29.03.2015, 11:14  [ТС] 8
Вообще, делить консоль мне надо для этого:
Реализовать в программе что-то наподобие меню. В самом верху будет надпись "F1 - выход", и при нажатии на F1 программа закрывается. Но _getch() ожидает нажатие клавиши и не дает программе продолжиться, пока не будет нажата клавиша. А мне после "F1 - выход" нужно вывести собственно главную часть программы
0
Неэпический
17869 / 10634 / 2054
Регистрация: 27.09.2012
Сообщений: 26,736
Записей в блоге: 1
29.03.2015, 11:50 9
По виндой можно заюзать GetAsyncKeyState
0
4 / 4 / 3
Регистрация: 13.07.2014
Сообщений: 129
29.03.2015, 11:56  [ТС] 10
Цитата Сообщение от Croessmah Посмотреть сообщение
По виндой можно заюзать GetAsyncKeyState
Да, но тогда нужен цикл, в котором все время будет проверятся, нажата ли клавиша. Но пока клавиша не нажата, программа опять же не продолжится
0
Эксперт С++
8739 / 4317 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
29.03.2015, 12:05 11
Цитата Сообщение от Croessmah Посмотреть сообщение
а где
вы это серьёзно?
хотите что бы я вам лепил в консоли гуи, на одних стандартных функциях?





Добавлено через 55 секунд
Цитата Сообщение от Andrey040601 Посмотреть сообщение
Да, но тогда нужен цикл, в котором все время будет проверятся, нажата ли клавиша. Но пока клавиша не нажата, программа опять же не продолжится
std::thread
0
4 / 4 / 3
Регистрация: 13.07.2014
Сообщений: 129
29.03.2015, 14:59  [ТС] 12
Цитата Сообщение от hoggy Посмотреть сообщение
std::thread
Да, большое спасибо.
Последний вопрос. При вводе какой-либо переменной
C++
1
cin >> anyvar;
программа ожидает ввода, и thread в это время не выполняет нужный код. Это можно как-то исправить?
0
Эксперт С++
8739 / 4317 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
29.03.2015, 21:51 13
Цитата Сообщение от Andrey040601 Посмотреть сообщение
программа ожидает ввода, и thread в это время не выполняет нужный код. Это можно как-то исправить?
никак.

отдельный тред для того и нужен, что бы ожидать ввод.
ничем другим он не должен заниматься.
0
Модератор
Эксперт по электронике
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,512
29.03.2015, 21:55 14
Цитата Сообщение от Andrey040601 Посмотреть сообщение
Вообще, делить консоль мне надо для этого:
Реализовать в программе что-то наподобие меню. В самом верху будет надпись "F1 - выход", и при нажатии на F1 программа закрывается.
а подумай, нужна ли для этого именно консоль?
зачем создавать себе трудности если окошки именно под это и заточены
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
29.03.2015, 22:04 15
Цитата Сообщение от nmcf Посмотреть сообщение
Стандартными средствами - нет.
Цитата Сообщение от hoggy Посмотреть сообщение
ответ - не верный.
Цитата Сообщение от hoggy Посмотреть сообщение
хотите что бы я вам лепил в консоли гуи, на одних стандартных функциях?
любопытный разговор.
Цитата Сообщение от Andrey040601 Посмотреть сообщение
Но пока клавиша не нажата, программа опять же не продолжится
Почему же? GetAsyncKeyState возвращает состояние клавиш на момент вызова. Т.е. сама функция не висит в ожидании, и можно делать что-то другое, периодически вызывая проверку.
0
Эксперт С++
8739 / 4317 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
29.03.2015, 22:16 16
Цитата Сообщение от Tulosba Посмотреть сообщение
любопытный разговор.
технически - возможно.

1.
слишком много буковок для демонстрации.

2.
не получится продемонстрировать на онлайн компиляторе.
делать студийный проект - лень.

3.
самое главное: это не практично.
проще реализовать через платформо-специфичное апи.
это проще, кода меньше, возможностей больше.
0
Модератор
Эксперт по электронике
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,512
29.03.2015, 22:19 17
Цитата Сообщение от hoggy Посмотреть сообщение
не получится продемонстрировать на онлайн компиляторе.
а почему?
0
Эксперт С++
8739 / 4317 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
29.03.2015, 22:31 18
Цитата Сообщение от ValeryS Посмотреть сообщение
а почему?
потому что не дескоп.
есть трудности с вводом.
0
Модератор
Эксперт по электронике
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,512
29.03.2015, 22:34 19
Цитата Сообщение от hoggy Посмотреть сообщение
потому что не дескоп.
есть трудности с вводом.
А не потому ли, что консоль это не черное окошечко под виндой, а поток ввода вывода, и ей эти финтифлюшечки с перетаскиванием курсора по барабану, вот онлайн компилятор и реализует классическую консоль
попробуй на ней реализуй
а если затачиватся под винду, то зачем для этого городить консоль?
0
Эксперт С++
8739 / 4317 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
29.03.2015, 22:56 20
Цитата Сообщение от ValeryS Посмотреть сообщение
А не потому ли, что консоль это не черное окошечко под виндой, а поток ввода вывода, и ей эти финтифлюшечки с перетаскиванием курсора по барабану,
проблема именно с stdin.

максимум, что я видел на онлайн сервисах:
вбить в отдельном поле символы, которые будут перенаправлены на вход программы.
0
29.03.2015, 22:56
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.03.2015, 22:56
Помогаю со студенческими работами здесь

Ввести в консоль строку, программа должна вывести в консоль слова из этого предложения в столбик
Доброго времени суток! Задание: нужно ввести в консоль строку, а программа должна вывести в...

Буферизация вывода в консоль, и цветной вывод в консоль
Потребовалось реализовать цветной вывод массивов в консоль(некоторые значения выделить зеленым)....

Разделить каждый элемент строки разделить на сумму элементов этой строки
Задан двухмерный массив вещественных чисел А(n,m). Необходимо каждый элемент соответствующей строки...

Вывод текст в консоль (не получается вывести текст в консоль; попытка была в разделе menu, но вывелся ужас)
d_d1 segment ;начало сегмента данных m1 db 23, '=========MENU=========', 23, '$' m2 db 23, '| 1-...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru