Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/13: Рейтинг темы: голосов - 13, средняя оценка - 4.85
0 / 0 / 0
Регистрация: 24.12.2019
Сообщений: 17

Работа с консолью и форматирование вывода

04.04.2020, 08:51. Показов 2806. Ответов 5

Студворк — интернет-сервис помощи студентам
Приветствую, форумчане!
Необходимо создать программу, которая будет:

1. Выводить надпись в любом месте текстового экрана консоли с помощи установки курсора
2. Менять цвет заднего фона консоли
3. Менять цвет текста
4. В качестве надписи используйте текущую дату и время компьютера на момент выведения надписи
5. После нажатия клавиши Enter программа должна обновлять надпись (с очисткой экрана) и менять цвета и её местоположение. Возможное количество смен оформления определяете вы, но оно должно быть в границах не менее 5 и не более 10 раз. Как минимум по одному разу необходимо чтобы ваш вывод касался границ консольного окна, а также помещался в его центре.

Основное задание я сделал, но не знаю как сделать, чтобы текст не менял расположение при изменении окна консоли, помогите пожалуйста.
Вот код:
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
using System;
using static System.Console;
namespace _1
{
 class Program
 {
  static void Main(string[] args)
  {
 
    BackgroundColor = ConsoleColor.Green;
    Clear();
    SetCursorPosition(100, 100);
    ForegroundColor = ConsoleColor.Red;
    WriteLine(DateTime.Now);
    ReadKey();
    BackgroundColor = ConsoleColor.Red;
    Clear();
    SetCursorPosition(119,0);
    ForegroundColor = ConsoleColor.Green;
    WriteLine(DateTime.Now);
    ReadKey();
    BackgroundColor = ConsoleColor.White;
    Clear();
    SetCursorPosition(0,102);
    ForegroundColor = ConsoleColor.Black;
    WriteLine(DateTime.Now);
    ReadKey();
    BackgroundColor = ConsoleColor.Blue;
    Clear();
    SetCursorPosition(0, 0);
    ForegroundColor = ConsoleColor.Red;
    WriteLine(DateTime.Now);
    ReadKey();
    BackgroundColor = ConsoleColor.Yellow;
    Clear();
    SetCursorPosition(59,15);
    ForegroundColor = ConsoleColor.Black;
    WriteLine(DateTime.Now);
    ReadKey();
  }
 }
}
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
04.04.2020, 08:51
Ответы с готовыми решениями:

Работа с консолью
Здравствуйте. Как можно отправить параметры для командной строки после ее непосредственного запуска? Process.Start и ProcessStartInfo не...

работа с консолью
подскажите пожалуйсто можно ли как нибудь сделать что бы все данные с консоли при написании system("ping google.com")...

Работа с консолью.
Возник у меня такой вопрос: - Можно ли вывести на экран несколько окон консолив одном приложении? Как это сделать? С выводом на нужную...

5
 Аватар для Enifan
1848 / 1190 / 501
Регистрация: 14.10.2018
Сообщений: 3,211
04.04.2020, 09:01
Цитата Сообщение от CrazyTomato1 Посмотреть сообщение
Основное задание я сделал
не соглашусь.
1) Использовать дефолтные значения, типа (0,102) не является правильно
2) В задании при нажатии на Enter должна происходить очистка экрана, а в вашем коде - при любой клавиши

Для решения 1-ой проблемы подойдут свойства WindowWidth и WindowHeight
Для решения 2-ой проблемы подойдет цикл, выходом из цикла будет клавиша Enter
Для решения проблемы с выводом на центр экрана - высота делится пополам, а из ширины вычитается длина текста и делится пополам
0
0 / 0 / 0
Регистрация: 24.12.2019
Сообщений: 17
07.04.2020, 20:41  [ТС]
Цитата Сообщение от Enifan Посмотреть сообщение
Для решения 1-ой проблемы подойдут свойства WindowWidth и WindowHeight
Можете показать пример кода?
0
 Аватар для Enifan
1848 / 1190 / 501
Регистрация: 14.10.2018
Сообщений: 3,211
07.04.2020, 21:17
Лучший ответ Сообщение было отмечено CrazyTomato1 как решение

Решение

Цитата Сообщение от CrazyTomato1 Посмотреть сообщение
Можете показать пример кода?
вроде не ошибка при подсчетах
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
using System;
 
class Program
{
    static void Main()
    {
        Console.WindowWidth = 20;
        Console.WindowHeight = 11;
        string strTop = "верх", strLeft = "лево", strMiddle = "ЦЕНТР";
        Random random = new Random();
 
 
        int top = Console.WindowWidth - strTop.Length + 1; // ширина консоли - длина строки
        top = random.Next(top + 1); // +1 чтобы включительно
        Console.SetCursorPosition(top, 0);
        Console.Write(strTop);
 
 
        int left = Console.WindowHeight; // высота консоли
        left = random.Next(1, left - 1); // верхюю и нижную строку оставляем для соотвествующих строк
                                         // чтобы не было пересечений
        Console.SetCursorPosition(0, left);
        Console.Write(strLeft);
 
 
        int midX = (Console.WindowWidth - strMiddle.Length) / 2;
        int midY = Console.WindowHeight / 2;
        Console.SetCursorPosition(midX, midY);
        Console.Write(strMiddle);
 
        Console.ReadKey();
    }
}
1
0 / 0 / 0
Регистрация: 24.12.2019
Сообщений: 17
08.04.2020, 04:55  [ТС]
Цитата Сообщение от Enifan Посмотреть сообщение
ширины вычитается длина текста и делится пополам
А как сделать это с DateTime.Now?
0
 Аватар для Enifan
1848 / 1190 / 501
Регистрация: 14.10.2018
Сообщений: 3,211
08.04.2020, 05:16
Цитата Сообщение от CrazyTomato1 Посмотреть сообщение
А как сделать это с DateTime.Now?
преобразовать в строку, далее все тоже самое
C#
1
string str = DateTime.Now.ToString();
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
08.04.2020, 05:16
Помогаю со студенческими работами здесь

Qt: работа с консолью
Есть ли какие-нибудь способы, что бы полноценно работать с консолью средствами Qt? Например, выводить сообщения в любом месте и разного...

Работа с консолью
Можно ли работать с бд в конлоси. Если да то подкажите как поочерёдно лоставать из таблицы например 123 по значению Показывать его...

Работа с консолью
Нужно: Если я напишу в консоль Process То мне выведет все процессы которые у меня на данный момент действуют. Как процессы выводить...

Работа с консолью
Добрый день. Нужно, чтобы при выполнении программы в консоли автоматически выполнялась вот такая строка. Подскажите как реализовать.

Работа с консолью в Си
Всем привет! Начал недавно изучать Си и в одном коде наткнулся на функции SetConsoleAttributeColor GetStdHandle И собственно возник...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru