Изучив эту главу и выполнив соответствующие упражнения, читатель будет способен написать, откомпилировать и запустить на выполнение простую программу. Последующие главы подразумевают, что вы в состоянии использовать описанные в данной главе средства и рассматривают их более подробно.
Лучше всего изучать новый язык программирования в процессе написания программ. В этой главе мы напишем простую программу для книжного магазина.
Книжный магазин хранит файл транзакций, каждая из записей которого соответствует продаже одного или нескольких экземпляров определенной книги. Каждая транзакция содержит три элемента данных:
0-201-70353-Х 4 24.99
Первый элемент — это ISBN (International Standard Book Number — международный стандартный номер книги), второй — количество проданных экземпляров, последний — цена, по которой был продан каждый из этих экземпляров. Владелец книжного магазина время от времени просматривает этот файл и вычисляет для каждой книги количество проданных экземпляров, общий доход от этой книги и ее среднюю цену.
Чтобы написать эту программу, необходимо рассмотреть несколько элементарных средств языка С++. Кроме того, следует знать, как откомпилировать и запустить программу.
Хотя мы еще не разработали свою программу, несложно предположить, что для этого необходимо следующее.
• Определить переменные.
• Обеспечить ввод и вывод.
• Применить структуру для содержания данных.
• Проверить, нет ли двух записей с одинаковым ISBN.
• Использовать цикл для обработки каждой записи в файле транзакций.
Сначала рассмотрим, как эти задачи решаются средствами языка С++, а затем напишем нашу программу для книжного магазина.
1.1. Создание простой программы на языке С++
Каждая программа С++ содержит одну или несколько main()
. Запуская программу С++, операционная система вызывает именно функцию main()
. Вот простая версия функции main()
, которая не делает ничего, кроме возвращения значения 0 операционной системе:
int main() {
return 0;
}
Определение функции содержит четыре элемента: main()
является в некоторой степени особенной, мы определяем ее таким же способом, как и любую другую функцию.
В этом примере список параметров функции main()
пуст (он представлен скобками ()
, в которых ничего нет). Более подробная информация о параметрах функции main()
приведена в разделе 6.2.5.
Функция main()
обязана иметь тип возвращаемого значения int
, который является типом целых чисел. Тип int
— это
Заключительная часть определения функции, ее тело, представляет собой
{
return 0;
}
Единственным оператором в этом блоке является оператор return
, который завершает код функции. Оператор return
может также передать значение назад вызывающей стороне функции, как в данном случае. Когда оператор return
получает значение, его тип должен быть совместим с типом возвращаемого значения функции. В данном случае типом возвращаемого значения функции main()
является int
, и возвращаемое значение 0
имеет тип int
.
return
. Точкой с запятой отмечают конец большинства операторов языка С++. Ее очень просто пропустить, и это приводит к выдаче компилятором непонятного сообщения об ошибке.
В большинстве операционных систем возвращаемое функцией main()
значение используется как индикатор состояния. Возвращение значения 0
свидетельствует об успехе. Любое другое значение, как правило, означает отказ, а само значение указывает на его причину.
Типы — это одна из наиболее фундаментальных концепций в программировании. К ней мы будем возвращаться в этой книге не раз. Тип определяет и содержимое элемента данных, и операции, которые возможны с ним.
Данные, которыми манипулируют наши программы, хранятся в переменных, и у каждой переменной есть тип. Когда типом переменной по имени v
является Т
, мы зачастую говорим, что "переменная v
имеет тип Т
" или "v
есть Т
".