Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Class Program. Namespace ConsoleIn

Namespace ConsoleIn

Листинг 2.10. Методы ввода

ЗАМЕЧАНИЕ

Для каждого параметра можно задать ширину поля вывода и формат вывода. Мы рассмотрим эти возможности в разделе «Форматирование строк».

Из управляющих последовательностей чаще всего используются символы пере­вода строки (\n) и горизонтальной табуляции (\t).

Рассмотрим простейшие способы ввода с клавиатуры. В классе Console определены методы ввода строки и отдельного символа, но нет методов, которые позволя­ют непосредственно считывать с клавиатуры числа. Ввод числовых данных вы­полняется в два этапа:

1. Символы, представляющие собой число, вводятся с клавиатуры в строковую переменную.

2. Выполняется преобразование из строки в переменную соответствующего типа.

 

Преобразование можно выполнить либо с помощью специального класса Convert, определенного в пространстве имен System, либо с помощью метода Parse, имею­щегося в каждом стандартном арифметическом классе. В листинге 2.10 используются оба способа.

 

using System;

using System.Collections.Generic;

using System.Text;

{

{

static void Main(string[] args)

{

Console.WriteLine("Введите строку");

string s = Console.ReadLine(); //1

Console.WriteLine("s=" + s);

Console.WriteLine("Введите символ");

char c = (char)Console.Read(); //2

Console.ReadLine(); //3

Console.WriteLine("c=" + c);

string buf; //строка - буфер для ввода чисел

Console.WriteLine("Введите целое число");

buf = Console.ReadLine();

int i = Convert.ToInt32(buf); //4

Console.WriteLine(i);

Console.WriteLine("Введите вещественное число");

buf = Console.ReadLine();

double x=Convert.ToDouble(buf); //5

Console.WriteLine(x);

Console.WriteLine("Введите вещественное число");

buf = Console.ReadLine();

double y = double.Parse(buf); //6

Console.WriteLine(y);

Console.WriteLine("Введите вещественное число");

buf = Console.ReadLine();

decimal z = decimal.Parse(buf); //7

Console.WriteLine(z);

}

}

}

 

К этому примеру необходимо сделать несколько пояснений. Ввод строки выпол­няется в операторе 1. Длина строки не ограничена, ввод выполняется до символа перевода строки.

Ввод символа выполняется с помощью метода Read, который считывает один символ из входного потока (оператор 2). Метод возвращает значение типа int, представляющее собой код символа, или —1, если символов во входном потоке нет (например, пользователь нажал клавишу Enter). Поскольку нам требуется не int, a char, а неявного преобразования от int к char не существует, приходится применить операцию явного преобразования типа, которая описана в разделе «Явное преобразование типа».

За оператором 2 записан оператор 3, который считывает остаток строки и нику­да его не передает. Это необходимо потому, что ввод данных выполняется через буфер — специальную область оперативной памяти. Фактически, данные сначала заносятся в буфер, а затем считываются оттуда процедурами ввода. Занесение в буфер выполняется по нажатию клавиши Enter вместе с ее кодом. Метод Read, в отличие от ReadLine, не очищает буфер, поэтому следующий после него ввод будет выполняться с того места, на котором закончился предыдущий.

В операторах 4 и 5 используются методы класса Convert, в операторах 6 и 7 — методы Parse классов Double и Decimal библиотеки.NET, которые используются здесь через имена типов С# double и decimal.

<== предыдущая лекция | следующая лекция ==>
Class Program | Листинг 2.12. Ввод из текстового файла
Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 301; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.007 сек.