Аватар для Andrey040601
5 / 5 / 3
Регистрация: 13.07.2014
Сообщений: 129

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

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

Author24 — интернет-сервис помощи студентам
Можно ли разделить консоль на несколько частей и в каждой выводить свою строку? Например, чтобы консоль поделилась на две части, где в первой колонке ввод переменной, а во второй -- ее вывод
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
28.03.2015, 19:22
Ответы с готовыми решениями:

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

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

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

19
7803 / 6567 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
28.03.2015, 20:16
Стандартными средствами - нет.
0
 Аватар для Andrey040601
5 / 5 / 3
Регистрация: 13.07.2014
Сообщений: 129
28.03.2015, 20:30  [ТС]
Цитата Сообщение от 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
7803 / 6567 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
28.03.2015, 21:35
Ну вот так, как у тебя - с помощью этих функций.
0
Эксперт С++
 Аватар для hoggy
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
28.03.2015, 21:55
Цитата Сообщение от 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
7803 / 6567 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
29.03.2015, 09:06
Цитата Сообщение от hoggy Посмотреть сообщение
ответ - не верный.
Неужели? И как это сделать не используя управление курсором?
0
Неэпический
 Аватар для Croessmah
18128 / 10712 / 2063
Регистрация: 27.09.2012
Сообщений: 27,001
Записей в блоге: 1
29.03.2015, 10:47
hoggy, а где
в первой колонке ввод переменной, а во второй -- ее вывод
0
 Аватар для Andrey040601
5 / 5 / 3
Регистрация: 13.07.2014
Сообщений: 129
29.03.2015, 11:14  [ТС]
Вообще, делить консоль мне надо для этого:
Реализовать в программе что-то наподобие меню. В самом верху будет надпись "F1 - выход", и при нажатии на F1 программа закрывается. Но _getch() ожидает нажатие клавиши и не дает программе продолжиться, пока не будет нажата клавиша. А мне после "F1 - выход" нужно вывести собственно главную часть программы
0
Неэпический
 Аватар для Croessmah
18128 / 10712 / 2063
Регистрация: 27.09.2012
Сообщений: 27,001
Записей в блоге: 1
29.03.2015, 11:50
По виндой можно заюзать GetAsyncKeyState
0
 Аватар для Andrey040601
5 / 5 / 3
Регистрация: 13.07.2014
Сообщений: 129
29.03.2015, 11:56  [ТС]
Цитата Сообщение от Croessmah Посмотреть сообщение
По виндой можно заюзать GetAsyncKeyState
Да, но тогда нужен цикл, в котором все время будет проверятся, нажата ли клавиша. Но пока клавиша не нажата, программа опять же не продолжится
0
Эксперт С++
 Аватар для hoggy
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
29.03.2015, 12:05
Цитата Сообщение от Croessmah Посмотреть сообщение
а где
вы это серьёзно?
хотите что бы я вам лепил в консоли гуи, на одних стандартных функциях?





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

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

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

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

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

максимум, что я видел на онлайн сервисах:
вбить в отдельном поле символы, которые будут перенаправлены на вход программы.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
29.03.2015, 22:56
Помогаю со студенческими работами здесь

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

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

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

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

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


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

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

Новые блоги и статьи
Логирование в C# ASP.NET Core с помощью Serilog, ElasticSearch, Kibana
stackOverflow 25.04.2025
Помните те времена, когда для анализа проблемы приходилось подключаться к серверу, искать нужный лог-файл среди десятков других и вручную фильтровать тысячи строк в поисках ошибки? К счастью, эти дни. . .
Полностью асинхронный счётчик на логике (сумматорах) трёх состояний и асинхронных регистрах трёх состояний.
Hrethgir 25.04.2025
Программа для симуляции схемы - Logisim Evolution В общем какое-то время отвлёкся, так было надо, теперь когда запилю это на verilog и FPGA , досоставлю заявку в ФИПС - не готов был только топовый. . .
Автоматизация Amazon Web Services (AWS) с Boto3 в Python
py-thonny 25.04.2025
Облачные вычисления стали неотъемлемой частью современной ИТ-инфраструктуры, а Amazon Web Services (AWS) занимает лидирующие позиции среди провайдеров облачных услуг. Управление многочисленными. . .
Apache Kafka vs RabbitMQ в микросервисной архитектуре
ArchitectMsa 25.04.2025
Современная разработка ПО всё чаще склоняется к микросервисной архитектуре — подходу, при котором приложение разбивается на множество небольших, автономных сервисов. В этой распределённой среде. . .
Параллельное программирование с OpenMP в C++
NullReferenced 24.04.2025
Параллельное программирование — подход к созданию программ, когда одна задача разбивается на несколько подзадач, которые могут выполняться одновременно. Оно стало необходимым навыком для. . .
Цепочки методов в C# с Fluent API
UnmanagedCoder 24.04.2025
Современное программирование — это не только решение функциональных задач, но и создание кода, который удобно поддерживать, расширять и читать. Цепочки методов и Fluent-синтаксис в C# стали мощным. . .
Мульти-тенантные БД с PostgreSQL Row Security
Codd 23.04.2025
Современные облачные сервисы и бизнес-приложения всё чаще обслуживают множество клиентов в рамках единой программной инфраструктуры. Эта архитектурная модель, известная как мульти-тенантность, стала. . .
Реализация конвейеров машинного обучения с Python и Scikit-learn
AI_Generated 23.04.2025
Мир данных вокруг нас растёт с каждым днём, и умение эффективно обрабатывать информацию стало необходимым навыком. Специалисты по машинному обучению ежедневно сталкиваются с задачами предобработки. . .
Контроллеры Kubernetes Ingress: Сравнительный анализ
Mr. Docker 23.04.2025
В Kubernetes управление входящим трафиком представляет собой одну из ключевых задач при построении масштабируемых и отказоустойчивых приложений. Ingress — это API-объект, который служит вратами. . .
Оптимизация кода Python с Cython и Numba
py-thonny 23.04.2025
Python прочно обосновался в топе языков программирования благодаря своей простоте и гибкости. Разработчики любят его за читабельность кода и богатую экосистему библиотек. Но у этой медали есть и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru