Красивый» вывод

Известно, что консоль кроме стандартных символов, позволяет выводить и особые символы, в частности псевдографические символы, позволяющие окружать текст в рамку. Таблица кодов таких символов в кодировке ASCII следующая:

Символы для построения рамок расположены по адресам с B3 по DA (в HEX). Их 40 штук. Однако, в современных ОС Windows применяется другая кодировка (Unicode), в которой не 256, а 64К символов. На сайте http://www.design-sites.ru/utility/unicode.php можно прочитать, что в Unicode символы псевдографики имеют номера с 2500 по 257F (HEX). Т.е. их уже 128 штук.

Для просмотра символов в некотором диапазоне их кодов была написана программа в C#:

static void Main(string[] args)

{

do

{

Console.Write("Начальный номер: "); int k1 = int.Parse(Console.ReadLine());

Console.Write("Конечный номер: "); int k2 = int.Parse(Console.ReadLine());

for (int k = k1; k <= k2; k++) Console.Write((char)k);

} while (k1 <= k2);

}

Здесь многократно до тех пор, пока (цикл с постусловием) начальный номер данного диапазона (k1) меньше конечного (k2), выводятся символы с кодами от k1 до k2.

Однако, компиляция данной программы выдаёт ошибку. Найдите её, исправьте и сделайте более удобным дизайн.

В результате применения этой программы была получена следующая таблица:

Таблица 1. Символы псевдографики и их коды (в HEX формате)

Код     250с       251с   252с   253с
Символ

Используя данные символы, выведем на консоль название нашего города в рамке:

static void Main(string[] args)

{

char lu = '\x250c'; char ld = '\x2514';

char ru = '\x2510'; char rd = '\x2518';

char h = '\x2500'; char v = '\x2502';

string s1 = string.Concat(lu, h, h, h, h, h, h, h, h, ru);

string s2 = string.Concat(v, " Тюмень ", v);

string s3 = string.Concat(ld, h, h, h, h, h, h, h, h, rd);

Console.WriteLine("{0}\n{1}\n{2}",s1,s2,s3);

Console.ReadLine();

}

Здесь для используемых символов псевдографики введены символьные переменные (например, char lu = '\x250c', идентификатор – сокращение «Left Up»). Каждая строка вывода оформляется строковой переменной путём склеивания символов и подстрок (метод Concat класса string). Все строки выводятся одним вызовом метода WriteLine(), в котором они разделяются символом перевода строки.

В итоге получаем на консоль:

Задание 1. Вывести на консоль табличку из двух ячеек, содержащих ваши фамилию и имя (2 строки) и город Вашего рождения (1 строка), например, так или так:

+------------+ +------------+-----------+

! Петровский!! Петровский! Воронеж!

! Сергей!! Сергей!!

+------------+ +------------+-----------+

! Воронеж!

+------------+

Расположение ячеек (вертикальное или горизонтальное), а также тип линий, которые заменят минусы, плюсы и восклицательные знаки из образца, выбираются по вариантам.

Вариант Расположение ячеек Горизонтальные линии Вертикальные линии
1, 7, 13 горизонтальное Одинарные Двойные
2, 8, 14 Вертикальное Двойные Одинарные
3, 9, 15 Горизонтальное Двойные Двойные
4, 10, 16 Вертикальное Одинарные Двойные
5, 11, 17 Горизонтальное Двойные Одинарные
6, 12, 18 Вертикальное Двойные Двойные

Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: