Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
+Presentation_4.doc
Скачиваний:
4
Добавлен:
08.02.2015
Размер:
298.5 Кб
Скачать

4. Ввод-вывод

Рис.4.1. Алгоритмическая конструкция «Данные»

4.1. Консольный ввод-вывод

(http://msdn.microsoft.com/ru-ru/library/yz3fhfz1.aspx)

4.1.1. Ввод и вывод с помощью классаConsole

Пример 4.1. Иллюстрация консольного ввода-вывода.

using System;

class Program

{ static void Main()

{ Console.Write("Введите ваше имя: ");

string S = Console.ReadLine();

if (S != "")

Console.WriteLine("Здравствуйте, {0}!", S);

else

Console.WriteLine("Здравствуйте, неизвестный!");

Console.Write("Сколько вам лет? ");

S = Console.ReadLine();

Console.WriteLine("Ваш возраст - {0} лет.\n", S);

Console.Write("Нажмите <Enter> для завершения работы.");

Console.ReadLine();

}

}

/* Вывод:

Введите Ваше имя: Валерий

Здравствуйте, Валерий!

Сколько Вам лет? 19

Ваш возраст – 19 лет.

*/

4.1.2. Методы классаSystem.Console

Таблица 4.1. Некоторые полезные свойства и методы класса System.Console

Имя

Описание

Свойства

BufferHeight

BufferWidth

Возвращает или задает соответственно высоту и ширину буферной области экрана.

CursorLeft

CursorTop

Возвращает или задает позицию столбца или строки курсора в буферной области экрана.

LargestWindowHeight

LargestWindowWidth

Возвращает максимальное число строк или столбцов окна консоли с учетом текущего шрифта и разрешения экрана.

Методы

Beep();

Beep(f,d);

Воспроизводит звуковой сигнал через динамик консоли. Параметры задают частоту сигнала (f) в диапазоне от 37 до 32767 Гц и его длительность (d) в миллисекундах (тип пара-метров –Int32). По умолчанию сигнал воспроизводится с ча-стотой800 Гци длительностью200 мс. Метод не поддержи-вается в 64-битовых выпусках Windows Vista и Windows XP.

Clear();

Удаляет из буфера консоли и ее окна отображаемую информацию. Применение этого метода эквивалентно вызову команды MS-DOS clsиз командной строки. При вызове метода курсор автоматически перемещается в левый верхний угол окна и содержимое буфера экрана очищается с использование текущих цветов текста и фона.

MoveBufferArea(sL,sT, sW,sH,tL,tT);

Копирует заданную исходную область буфера экрана в заданную область назначения. Первые два параметра задают координаты левого верхнего угла исходной области экрана, подлежащей копированию (sL– позиция столбца,sT– позиция строки), а вторые два параметра задают размер этой области (sW– ширину в позициях столбца, аsH– высоту в строках). Третья пара параметров задает координаты левого верхнего угла области назначения экрана (tL– позиция столбца,tT– позиция строки). Тип параметров –Int32. По умолчанию размер буфера экрана (по горизонтали и вертикали) определен свойствамиBufferWidth(80 позиций стобца) иBufferHeight(300 строк).

Read();

ReadLine();

Возвращает строку символов из стандартного входного пото-ка. Для метода ReadLineэта строка заканчивается символа-ми возврата каретки (0x000d) и перевода строки (0x000a).

ReadKey();

ReadKey(k);

Получает следующий нажатый пользователем символ или функциональную клавишу. Параметр kопределяет, следует ли отображать нажатую клавишу в окне консоли (true– не отображать нажатую клавишу;false– отображать). По умол-чанию нажатая клавиша отображается в окне консоли. Этот метод осуществляет ожидание, т.е. блокирует поток, вызывая в цикле метод, пока не будет нажата символьная или функциональная клавиша. Символьная или функциональная клавиша может быть нажата в сочетании с управляющей клавишей<ALT>,<CTRL>или<SHIFT>. Однако само по себе нажатие клавиши<ALT>,<CTRL>или<SHIFT>не вызывает возврата управления методомReadKey.

SetBufferSize(W,H);

Устанавливает заданные значения ширины (W) и высоты (H) буферной области экрана.

SetCursorPosition(L,T);

Устанавливает положение курсора на экране (L– позиция столбца,T– позиция строки). С помощью этого метода указывается, где должна начаться следующая операция вывода в окно консоли.

Write(V);

Write(sf,V);

WriteLine(V);

WriteLine(sf,V);

Записывает строковое представление заданного объекта (V) в стандартный выходной поток, используя заданную строку формата (sf). Для методаWriteLineэта строка заканчивается символами признака конца строки ("\r\n"). В качестве объекта могут выступать значения, списки значений или массивы различных типов.

Пример 4.1. Использование методов класса System.Console.

using System;

{ class Program

{ static void Main()

{ Console.Clear();

Console.SetCursorPosition(0, 3);

Console.Beep();

Console.Write("Введите частоту звукового сигнала (Гц): ");

int hz = Int32.Parse(Console.ReadLine());

Console.Write("Введите длительность звукового сигнала (мс): ");

int ms = Int32.Parse(Console.ReadLine());

Console.Beep(hz, ms);

Console.WriteLine("Нажмите любую клавишу для выхода.");

Console.ReadKey();

}

}

}

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]