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

В  окне  с  полем  ввода  (см.  рис.  1.12)  кроме  кнопки  OK  есть  еще

и кнопка Отмена. Если щелкнуть на кнопке Отмена, окно будет за-

крыто, а в качестве результата возвращается пустая текстовая строка, которая и будет записана в переменную name. Как следствие, второе

окно появится, но в том месте, где в тексте должно быть имя пользо-

вателя, не будет ничего.

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

— Что за вздор. Как вам это в голову взбрело?

— Да не взбрело бы, но факты, как говорится,

упрямая вещь.

Из к/ф «Чародеи»

Хотя программирование консольных приложений на C# и считается дур-

ным тоном, попытаться обойти вопрос создания программы, в которой ин-

формация вводится и выводится через консоль, было бы с нашей стороны

слишком самонадеянно.

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

ПРИМЕЧАНИЕ Консоль — это такое окно, выдержанное в темных тонах, которое

вызывает  ностальгию  по  старым  добрым  временам  операционной

системы MS-DOS.

Несмотря на то, что рассматриваемая далее программа реализует древний

консольный ввод/вывод, в ней мы познакомимся со многими полезными

синтаксическими конструкциями языка C#. Среди них:

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

 условный оператор if();

 оператор выбора switch();

 блок try­catch обработки исключительных ситуаций;

 ряд других интересных инструкций.

Если представленное дальше покажется несколько удручающим и со-

вершенно непонятным — не стоит впадать в отчаяние. Здесь мы только

знакомимся с некоторыми синтаксическими конструкциями. В крайнем

случае, процедуру знакомства можно проигнорировать. Основы син-

таксиса языка C# обсуждаются более детально в следующих главах.

В программе реализуется простенький калькулятор, который может по-

следовательно выполнять всего четыре действия: сложение, вычитание, умножение и деление. Принцип взаимодействия пользователя с програм-

мой через консольное окно следующий. Пользователь вводит число, затем

символ операции (один из символов «+» (сложение), «­» (вычитание), «*»

(умножение) или «/» (деление)) и новое число. С введенными числами

выполняется соответствующая операция, а пользователь может ввести

символ следующей операции и новое число, и т. д., пока пользователь вме-

сто символа операции не введет ключевое слово exit. Код этой программы

приведен в листинге 1.3.

Листинг 1.3.  Консольная программа - калькулятор

using System;

class Calculator{

// Главный метод программы:

static void Main(){

// Переменные для запоминания

// числовых значений:

double res=0, num;

// Символьная переменная для

// запоминания оператора:

char op = '+';

продолжение

44

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

Листинг 1.3 (продолжение)

// Текстовая переменная для

// запоминания ввода пользователя:

string text="";

// Отображение текста в консольном окне:

Console.WriteLine("Начинаем вычисления. Завершение - exit.");

// Блок контроля исключительных ситуаций:

try{

// Оператор цикла:

do{

// Приглашение ввести число:

Console.Write("Ведите число:\t");

// Считывание числа:

num = Double.Parse(Console.ReadLine());

// Оператор выбора:

switch(op){ // Перебор вариантов

// Сложение:

case '+':

res=res+num;

break;

// Вычитание:

case '-':

res=res­num;

break;

// Умножение:

case '*':

res=res*num;

break;

// Деление:

case '/':

res=res/num;

break;

}

// Отображение текущего значения:

Console.WriteLine("Результат:\t"+res);

// Приглашение для ввода символа операции:

Console.Write("Операция:\t");

// Считывание текста:

text=Console.ReadLine();

// Условный оператор - проверка

// команды выхода:

if(text.Equals("exit")) break;

// Попытка определить символ:

op=Char.Parse(text);

// Условный оператор - проверка

// символа операции:

if(!(op=='+'|op=='-'|op=='*'|op=='/')){

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

// Отображение сообщения и завершение

// работы оператора цикла:

Console.WriteLine("Такая операция недопустима!"); break;

}

// Условие продолжения цикла:

}while (true);

}catch{

// Обработка исключительной ситуации:

Console.WriteLine("Выполнена недопустимая команда.");

}

// Сообщение о завершении работы программы:

Console.Write("Вычисления закончены. Нажмите клавишу Enter...");

// Ожидание нажатия клавиши Enter:

Console.ReadLine();

}

}

В среде Visual C# Express создаем консольное приложение. Для этого

в  окне  создания  нового  проекта  Создать  проект  выбираем  пункт

Консольное приложение, как показано на рис. 1.14.

Рис. 1.14.  Создание консольного приложения

Дальше все практически так же, как и в случае создания приложения

с графическим интерфейсом. Однако в консольном приложении форм

нет, поэтому ничего удалять не придется.

46

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

Командой using System подключается пространство имен System. Это

необходимо сделать для того, чтобы стали доступными методы класса

Console для работы с консольным устройством. В частности, речь идет

о методах Write(), WriteLine() и ReadLine(), которые вызываются с ука-

занием класса Console. Первые два метода выводят на экран текстовое

значение, указанное аргументом. Разница между этими методами состо-

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

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

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

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

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

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

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

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

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