Читаем C#. Объектно ориентированное программирование полностью

ит в том, что при использовании метода WriteLine() курсор вывода пере-

водится в новую строку (после завершения вывода), а для метода Write() он остается в той же строке. С помощью метода ReadLine() считывается

текстовая строка, введенная пользователем. Метод вызывается без аргу-

ментов.

ПРИМЕЧАНИЕ Признаком того, что мы закончили ввод текстовой строки, является

нажатие клавиши Enter. При этом вся строка считывается в текстовом

формате — даже если мы ввели число, считано оно будет как текст.

Как с этим бороться, рассказано далее.

В начале программы мы объявляем две переменные (res и num) типа double.

Этот тип соответствует действительным числам в формате представления

с плавающей точкой. При этом переменная res сразу в качестве началь-

ного получает нулевое значение. В эту переменную мы будем записывать

результат вычислений. В переменную num будет записываться очередное

введенное пользователем число. Также нам понадобится символьная пере-

менная (переменная типа char) для записи символа операции. Эта пере-

менная называется op, и ее начальное значение равно '+'. Таком образом, первая операция — это сложение.

ПРИМЕЧАНИЕ Значение символьной переменой — это символ (или буква, если под

буквой подразумевать любой символ). Символьный литерал (буква) заключается в одинарные кавычки. Если букву заключить в двойные

кавычки, это будет текстовый литерал.

Нормальный режим завершения работы программы предполагает, что вме-

сто символа операции мы вводим слово exit. Это текст. Поэтому на каж-

дом этапе, когда предполагается прочитать с консоли символ оператора, мы будем считывать текст, а затем этот текст будем обрабатывать. Текст

запоминаем в переменной text, начальным значением которой является

пустая текстовая строка. После отображения приветственного сообщения

"Начинаем вычисления. Завершение - exit." в консоли, которое выводится

с помощью статического метода WriteLine() класса Console, запускается

оператор цикла do­while().

Консольная программа           47

Практически весь последующий код заключен в блок try — после

этого ключевого слова в фигурных скобках размещен обсуждаемый

далее программный код. После try-блока можно обнаружить catch-

блок. На самом деле это две составные части одной конструкции, главное и благородное назначение которой — обработка исключи-

тельных ситуаций, то есть ошибок, которые возникают в процессе

выполнения  программы.  Назначение  блока  try-catch  мы  обсудим

более детально несколько позже.

Начинается оператор цикла ключевым словом do и заканчивается инструк-

цией while(true). Формально это означает бесконечный цикл. Команды, размещенные внутри тела оператора цикла, в данном конкретном случае

могли бы выполняться бесконечно долго (если бы мы не предусмотрели

хитроумную процедуру выхода).

Оператор  цикла  do-while()  выполняется  следующим  образом:  вы-

полняются команды тела цикла (команды в фигурных скобках после

ключевого  слова  do),  после  чего  проверяется  условие,  указанное

в круглых скобках после ключевого слова while. Условие — это вы-

ражение логического типа (тип bool). Переменная этого типа может

принимать всего два значения — true (истина) или false (ложь). Если

условие истинно (значение выражения равно true), работа оператора

цикла продолжается — будут выполнены команды тела цикла, и за-

тем снова проверяется условие, и т. д. Поскольку в нашем случае

условием  указано  ключевое  слово  true,  условие  всегда  истинно.

Поэтому формально имеем дело с бесконечным циклом. На самом

деле, конечно, цикл завершится за конечное количество итераций.

В этом мы убедимся при анализе программного кода и тестировании

программы.

Командой Console.Write("Ведите число:\t") в консольное окно выводится

сообщение с приглашением ввести число. При этом в тексте использована

инструкция табулирования \t — чтобы результат вывода текстовой инфор-

мации в консольном окне выглядел упорядоченно. После этого командой

num=Double.Parse(Console.ReadLine()) считываем число, введенное поль-

зователем. Здесь нужны некоторые пояснения. Посредством инструкции

Console.ReadLine() в текстовом формате считывается то, что ввел пользо-

ватель. Мы предполагаем, что это число. Вместе с тем речь идет о текстовом

представлении числа. Именно это текстовое представление числа возвра-

щается в качестве результата инструкции. Нам необходимо текстовое пред-

ставление числа трансформировать в числовое значение — значение типа

double. Для этого предназначен статический метод Parse в классе Double.

48

Глава 1. Информация к размышлению: язык C# и даже больше

Аргументом метода Parse() мы передаем инструкцию Console.ReadLine(). Ре-

зультатом выражения Double.Parse(Console.ReadLine()) является числовое

значение типа double. Именно это значение записываем в переменную num.

ПРИМЕЧАНИЕ Вся эта конструкция работает, если мы действительно ввели число.

Если  мы  ввели  не  число,  возникнет  ошибка.  Из-за  такой  ошибки

Перейти на страницу:

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных