Организация ввода-вывода данных. Форматирование

Программка при вводе данных и выводе результатов ведет взаимодействие с наружными устройствами. Совокупа стандартных устройств ввода (клавиатура) и вывода (экран) именуется консолью. В языке С# нет операторов ввода и вывода. Заместо их для обмена данными с наружными устройствами употребляются особые объекты. А именно, для работы с консолью употребляется стандартный класс Console Организация ввода-вывода данных. Форматирование, определенный в пространстве имен System.

Вывод данных

В приведенных выше примерах мы уже рассматривали способ WriteLine, реализованный в классе Console, который позволяет организовывать вывод данных на экран. Но существует несколько методов внедрения данного способа:

  1. Console.WriteLine(x); //на экран выводится значение идентификатора х
  2. Console.WriteLine("x=" + x +"y=" + y); /* на Организация ввода-вывода данных. Форматирование экран выводится строчка, образованная поочередным слиянием строчки "x=", значения x, строчки "у=" и значения у */
  3. Console.WriteLine("x={0} y={1}", x, y); /* на экран выводится строчка, формат которой задан первым аргументом способа, при всем этом заместо параметра {0} выводится значение x, а заместо {1} – значение y*/

Замечание.

Разглядим последующий кусок Организация ввода-вывода данных. Форматирование программки:

int i=3, j=4; Console.WriteLine("{0} {1}", i, j);

При воззвании к способу WriteLine через запятую перечисляются три аргумента: "{0} {1}", i, j. 1-ый аргумент определяет формат выходной строчки. Последующие аргументы нумеруются с нуля, так переменная i имеет номер 0, j – номер 1. Значение переменной i будет помещено в выходную строчку на место {0}, а значение Организация ввода-вывода данных. Форматирование переменной j – на место {1}. В итоге на экран будет выведена строчка: 3 4. Если мы обратимся к способу WriteLine последующим образом Console.WriteLine("{0} {1} {2)", j, i, j), то на экран будет выведена строчка: 4 3 4.

Последний вариант использования способа WriteLine является более универсальным, так как он позволяет не только лишь выводить данные на Организация ввода-вывода данных. Форматирование экран, да и управлять форматом их вывода. Разглядим несколько примеров:

  1. Внедрение управляющих последовательностей:

Управляющей последовательностью именуют определенный знак, предваряемый оборотной косой чертой. Данная совокупа знаков интерпретируется как одиночный знак и употребляется для представления кодов знаков, не имеющих графического обозначения (к примеру, знака перевода курсора на новейшую строчку) либо знаков, имеющих особое обозначение Организация ввода-вывода данных. Форматирование в символьных и строковых константах (к примеру, апостроф). Разглядим управляющие знаки:

Вид Наименование
\a Звуковой сигнал
\b Возврат на шаг вспять
\f Перевод странички
\n Перевод строчки
\r Возврат каретки
\t Горизонтальная табуляция
\v Вертикальная табуляция
\\ Оборотная косая черта
\' Апостроф
\" Кавычки

Пример:

static void Main()

{

Console.WriteLine("Ура!\nСегодня Организация ввода-вывода данных. Форматирование \"Информатика\"!!!");

}

  1. Управление размером поля вывода:

Первым аргументом WriteLine указывается строчка вида {n, m} – где n определяет номер идентификатора из перечня аргументов способа WriteLine, а m – количество позиций (размер поля вывода), отводимых под значение данного идентификатора. При всем этом значение идентификатора выравнивается по правому краю. Если выделенных Организация ввода-вывода данных. Форматирование позиций для размещения значения идентификатора окажется недостаточно, то автоматом добавится нужное количество позиций. Пример:

static void Main() { double x= Math.E; Console.WriteLine("E={0,20}", x); Console.WriteLine("E={0,10}", x); }

  1. Управление размещением вещественных данных:

Первым аргументом WriteLine указывается строчка вида {n: ##.###} – где n определяет номер идентификатора из перечня аргументов способа WriteLine Организация ввода-вывода данных. Форматирование, а ##.### определяет формат вывода вещественного числа. В этом случае под целую часть числа отводится две позиции, под дробную – три. Если выделенных позиций для размещения целой части значения идентификатора окажется недостаточно, то автоматом добавиться нужное количество позиций. Пример:

static void Main() { double x= Math.E; Console.WriteLine("E={0:##.###}", x); Console Организация ввода-вывода данных. Форматирование.WriteLine("E={0:.####}", x); }

Задание.Измените программку так, чтоб число e выводилось на экран с точностью до 6 символов после запятой.

  1. Управление форматом числовых данных:

Первым аргументом WriteLine указывается строчка вида {n: m} – где n определяет номер идентификатора из перечня аргументов способа WriteLine, - определяет формат данных, а m – количество позиций Организация ввода-вывода данных. Форматирование для дробной части значения идентификатора. В качестве спецификаторов могут употребляться последующие значения:

Параметр Формат Значение
C либо c Валютный. По дефлоту ставит символ р. Поменять его можно с помощь объекта NumberFormatInfo Задается количество десятичных разрядов.
D либо d Целочисленный (употребляется только с целыми числами) Задается малое количество цифр. По мере надобности Организация ввода-вывода данных. Форматирование итог дополняется исходными нулями
E либо e Экспоненциальное представление чисел Задается количество знаков после запятой. По дефлоту употребляется 6
F либо f Представление чисел с фиксированной точкой Задается количество знаков после запятой
G либо g Общий формат (либо экспоненциальный, либо с фиксированной точкой) Задается количество знаков после запятой Организация ввода-вывода данных. Форматирование. По дефлоту выводится целая часть
N либо n Стандартное форматирование с внедрением запятых и пробелов в качестве разделителей меж разрядами Задается количество знаков после запятой. По дефлоту – 2, если число целое, то ставятся нули
X либо x Шестнадцатеричный формат
P либо p Процентный

Пример:

static void Main()

{

Console.WriteLine("C Format:{0,14:C Организация ввода-вывода данных. Форматирование} \t{0:C2}", 12345.678);

Console.WriteLine("D Format:{0,14:D} \t{0:D6}", 123);

Console.WriteLine("E Format:{0,14:E} \t{0:E8}", 12345.6789);

Console.WriteLine("G Format:{0,14:G} \t{0:G10}", 12345.6789);

Console.WriteLine("N Format:{0,14:N} \t{0:N4}", 12345.6789);

Console.WriteLine("X Format:{0,14:X} ", 1234);

Console.WriteLine("P Format:{0,14:P} ", 0.9);

}

Ввод данных

Для ввода данных обычно употребляется способ ReadLine Организация ввода-вывода данных. Форматирование, реализованный в классе Console. Особенностью данного способа будет то, что в качестве результата он возвращает строчку (string). Пример:

static void Main()

{

string s = Console.ReadLine();

Console.WriteLine(s);

}

Для того чтоб получить числовое значение нужно пользоваться преобразованием данных. Пример:

static void Main()

{

string s = Console.ReadLine();

int x = int Организация ввода-вывода данных. Форматирование.Parse(s); //преобразование строчки в число

Console.WriteLine(x);

}

Либо сокращенный вариант:

static void Main()

{

//преобразование введенной строчки в число

int x = int.Parse(Console.ReadLine());

Console.WriteLine(x);

}

Для преобразования строкового представления целого числа в тип int мы используем способ int.Parse(), который реализован для всех числовых типов данных. Таким Организация ввода-вывода данных. Форматирование макаром, если нам будет нужно конвертировать строковое представление в вещественное, мы можем пользоваться способом float.Parse() либо double.Parse(). В случае, если соответственное преобразование выполнить нереально, то выполнение программки прерывается и генерируется исключение System.FormatExeption (входная строчка имела неправильный формат).

Задание.Измените предшествующий кусок программки так, чтоб с клавиатуры Организация ввода-вывода данных. Форматирование вводилось вещественное число, а на экран это число выводилось с точностью до 3 символов после запятой.


organizatori-konkursov-ostavlyayut-za-soboj-pravo-nekommercheskogo-ispolzovaniya-materialov-rabot-i-izobrazhenij-prislannih-na-tvorcheskie-konkursi-aoshgo.html
organizatori-moskovskoj-akcii-v-podderzhku-krimska-ne-dostigli-postavlennoj-celi-rossijskaya-blagotvoritelnost-v-zerkale-smi.html
organizatori-orgkomitet-direkciya.html