Выполнение ввода/вывода данных и присваивание значений

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

выполнения на экране будет выглядеть примерно так:

Введите текущий год и нажмите ENTER.

2000

Введите свой возраст (в годах).

21

Введите год, для которого вы хотите узнать свой возраст.

2017

В 2017 году вам будет 38

Первая, третья, пятая и седьмая строки выдаются на экран программой с по-

мощью следующего оператора:

cout << Выражение1 << Выражение2 <<... << ВыражениеN;

Этот оператор выводит на экран сообщение:

Выражение 1 Выражение 2 ... Выражение N

Последовательность операторов

cout << Выражение 1;

cout << Выражение 2;

...

...

cout << Выражение N;

13

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

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

"\n" соответственно.

Числа, показанные выше в примере выдачи на экран полужирным шрифтом, бы-

ли напечатаны пользователем. В показанном примере оператор

cin >> year_now;

приводит к тому, что переменной year_now присваивается значение 2000. Это проис-

ходит после того, как пользователь напечатает " 2000 " и нажмет клавишу Enter. В

программе есть еще места, где переменным присваиваются значения, в том числе

оператор присваивания:

another_age = another_year - (year_now - age_now);

Операция "=" означает "присвоить переменной, стоящей слева от знака равен-

ства, значение, указанное справа". Проверка на равенство в Си++ обозначается двой-

ным символом: "==".

Управление порядком выполнения команд с помощью оператора if

В нескольких последних строках программы (до строки "return 0") записано:

if (another_age >= 0)

{

cout << "В " << another_year << " году вам будет ";

cout << another_age << "\n";

}

else

{

cout << "В " << another_year << " вы еще не родились!\n";

}

Оператор ветвления (условный оператор) "if...else..." выглядит примерно

одинаково во всех процедурных языках программирования. В Си++ он называется

просто оператором if, и его общая структура такова:

if (условие)

{

Оператор 1;

...

...

Оператор N;

}

else

{

Оператор N+1;

...

...

Оператор N+M;

}

Часть "else (иначе)" в операторе if необязательна. Более того, если после

"if (условие)" стоит только один оператор, то можно опустить фигурные скобки и

записать оператор так:

14

if (условие)

Оператор 1;

В программах условные операторы часто встречаются группами, например:

...

...

if (total_test_score < 50)

cout << "Вы не прошли тест. Выучите материал как следует.\n";

else if (total_test_score < 65)

cout << "Вы прошли тест со средним результатом.\n";

else if (total_test_score < 80)

cout << "Вы хорошо выполнили тест.\n";

else if (total_test_score < 95)

cout << "Вы показали отличный результат.\n";

else

{

cout << "Вы сдали тест нечестно!\n";

total_test_score = 0;

}

...

...

Приведенный фрагмент программы может показаться довольно сложным. Тем

не менее, он соответствует правилам Си++. Это легко понять, если обратиться к син-

таксической диаграмме оператора if (рис. 4).

В овальных или круговых рамках на синтаксических диаграммах указываются

элементы языка, которые буквально так и воспроизводятся в исходном тексте про-

грамм. В прямоугольных рамках приведены элементы, требующие дальнейшего оп-

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

грамм служит формальным описанием синтаксиса языка программирования.

Обратите внимание, что на рис. 4 отсутствует символ ";" и разделители "{}".

Эти элементы языка включены в определение (и синтаксическую диаграмму) для

обобщенного понятия "оператор языка Си++".

Рис. 4. Синтаксическая диаграмма оператора if.

При обработке приведенного фрагмента программы компилятор Си++ трактует

весь текст, выделенный ниже полужирным шрифтом, как один оператор после перво-

го слова else.

...

...

if (total_test_score < 50)

cout << "Вы не прошли тест. Выучите материал как следует.\n";

else if (total_test_score < 65)

cout << "Вы прошли тест со средним результатом.\n";

else if (total_test_score < 80)

cout << "Вы хорошо выполнили тест.\n";

15

else if (total_test_score < 95)

cout << "Вы показали отличный результат.\n";

Else

{

cout << "Вы сдали тест нечестно!\n";

total_test_score = 0;

}

...

...

Оформление исходного текста

Между текстом программы, приведенным в п.5 и текстом, который показан

ниже, для компилятора Си++ нет никаких различий.

#include <iostream.h> int main() { int year_now, age_now, another_year,

another_age; cout << "Введите текущий год и нажмите ENTER.\n"; cin >>

year_now; cout << "Введите свой возраст (в годах).\n"; cin >> age_now;

cout << "Введите год, для которого вы хотите узнать свой возраст.\n"; cin

>> another_year; another_age = another_year - (year_now - age_now); if

(another_age >= 0) { cout << "В " << another_year << " году вам будет ";

cout << another_age << "\n"; } else { cout << "В " << another_year << "

вы еще не родились!\n"; } return 0; }

Отсутствие комментариев, пробелов, пустых строк и отступов делают эту

программу практически непригодной для чтения человеком. Для выработки хорошего

стиля программирования, конечно, требуется знать не только правила оформления

текста программы, но их следует соблюдать с самого начала. При оформлении собст-

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

отражали логическую структуру ваших программ.

Для переменных следует выбирать осмысленные имена: имена "year_now",

"age_now", "another_year" и "another__age" лучше, чем "y_n", "a_n", "a_y" и

"a_a" и намного лучше, чем "w", "x", "y" и "z". Это особенно важно, если в будущем

ваши программы могут потребовать изменения с помощью других программистов.

Сводка результатов

В данной лекции кратко и неформально были рассмотрены несколько важных

вопросов: переменные и типы данных, ввод и вывод, оператор присваивания и услов-

ный оператор ("оператор if"). Более строго и подробно эти вопросы будут рассмот-

рены в последующих лекциях.

Упражнения

Для выполнения этих упражнений требуется некоторый опыт работы с ПК под

управлением операционной системы Windows 95/NT.

Упражнение 1

Изучите краткое руководство по Visual C++ в Приложении. Создайте проект с

именем "AgeCalculator". Создайте исходный файл с именем AgeCalculator.cpp

16

и наберите в нем исходный текст программы 5.1. Сохраните файл на диске и добавьте

его в проект. Соберите проект и запустите программу на выполнение.

Возможно, вы встретитесь со следующими проблемами:


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: