Простое консольное приложение на C++

User Rating: 5 / 5

В этой статье мы создадим с вами простое консольное приложение на языке C++ в среде разработки Microsoft Visual Studio. Если среда разработки ещё не установлена, это потребуется сделать, чтобы лучше понять материал статьи и повторить описываемые в ней шаги по созданию программы на C++. Скачать самую актуальную версию Microsoft Visual Studio можно по этой ссылке.

Итак, запускаем Microsoft Visual Studio, далее в главном окне среды разработки выбираем опцию "Создание проекта":

После этого мастер создания нового проекта предложит на выбор язык и тип создаваемого приложения. Выбираем в выпадающем списке (маркер 1 на рисунке ниже) язык C++, а в качестве типа приложения внизу справа - "Консольное приложение" (маркер 2 на рисунке):

После этого жмём "Далее" и переходим к следующему шагу создания нашего нового проекта.

В качестве имени проекта зададим SimpleCppApplication. Также Вы можете поменять расположение проекта, выбрав целевой каталог сохранения проекта на компьютере. В моём случае я не менял расположение и всё оставил как предлагает Visual Studio:

После этого нажимаем "Создать" и Visual Studio создаст необходимые файлы нашего проекта и даже сгенерирует для нас простую программу на языке C++:

Как видим, для нас создался файл исходного кода нашей программы с именем SimpleCppApplication.cpp (его содержимое должно у вас быть примерно таким же, как у меня на рисунке выше).

Также обратите внимание на то, что в области справа, в окне "Обозреватель решений", для нас создана структура проекта для нашей программы, где в каталоге "Исходные файлы" и располагается файл SimpleCppApplication.cpp:

Давайте сразу запустим нашу простую программу в том виде, в котором она сгенерировалась для нас мастером Visual Studio. Для этого нажмём комбинацию клавиш Ctrl+F5. После этого Visual Studio начнёт сборку нашего проекта, и Вы должны видеть в нижнем окне "Вывод" сообщения, появляющиеся в процессе сборки. Как только сборка будет завершена, на экране появится консольное окно, которое выводит одну простую фразу "Hello World!":

 

А вот какие сообщения отображались в моём случае в окне "Вывод" в процессе сборки:

Итак, мы посмотрели как работает наша простая программа на C++, сгенерированная мастером автоматически. Давайте теперь попробуем разобраться в основах этой простой программы:

#include <iostream>

int main()
{
    std::cout << "Hello World!\n";
}

В первой строке сгенерированной программы идёт директива include, которая подключает к нашей программе стандартную библиотеку iostream, содержащую необходимые средства для обеспечения вывода на консоль и пользовательского ввода с консоли. В C++ существует огромное количество и других библиотек, которые помогают программисту C++ в выполнении различных задач, требуемых для написания программы на C++ (например, другие библиотеки могут содержать классы и функции, которые облегчают чтение данных из файлов или запись данных в файлов и так далее).

Вы даже можете перейти в эту библиотеку и посмотреть её содержимое. Для этого зажмите левую клавишу Ctrl и наведите курсор мыши на <iostream> в первой строке:

После этого кликните левой кнопкой мыши и увидите содержимое библиотеки <iostream>:

Справа вверху увидите появившуюся вкладку "iostream", при наведении на которую отобразится путь, где располагается сама библиотека:

 

Вернёмся к нашей программе, после директивы include начинается основной код программы, а именно метод с именем main:

int main()
{
    std::cout << "Hello World!\n";
}

Перед методом указано ключевое слово int, которое обозначает тип данных, возвращаемых методом main при его завершении. Тип данных int - это тип для хранения целых чисел, пока без углублений в детали нам достаточно этого для понимания основной сути программы.

Наконец, единственная строка нашей программы делает основную задачу - выводит в поток вывода с именем cout обычную строку "Hello World!\n". Префикс std обозначает так называемое пространство имён, в котором доступен объект вывода в поток с именем cout.

Вы можете навести курсор мыши на std и увидеть, что это namespace, то есть как раз пространство имён (тема пространства имён в данной статье описываться не будет, т.к. выходит за её рамки):

 

Аналогично, если навести курсор на cout, то мы увидим такую же всплывающую подсказку о типе объекта cout - ostream (от англ. "output stream", т.е. поток вывода на консоль):

Что такое двойной знак меньше <<, который стоит между cout и строкой "Hello World\n"? Это оператор вывода в поток. C++ очень мощный язык с широкими возможностями, который позволяет перегружать операторы для различных классов. Тема эта достаточно сложная на текущий момент для понимания, поэтому просто усвоим для себя следующее: этот оператор "помещает" нашу строку "Hello World\n" в выходной поток, и именно за счёт этого она и отображается на экране нашей программы.

Мы разобрали как работает простейшая программа на C++, которая сгенерирована для нас средой при создании нового проекта. Давайте теперь поэкспериментируем и научим нашу программу считывать пользовательский ввод с клавиатуры и определять, введено ли чётное число или нечётное.

Для этого давайте поменяем стандартную строку "Hello World\n" на сообщение запроса ввода целого числа - "Please, enter an integer number:\n" и после этой строки напишем следующий код, который будет ожидать ввода с клавиатуры и запишет результат в переменную x:

#include <iostream>

int main()
{
    std::cout << "Please, enter an integer number:\n";

    int x;
    std::cin >> x;

    if (x % 2 == 0) {
        std::cout << "The number is even\n";
    }
    else {
        std::cout << "The number is odd\n";
    }
}

Итак, мы видим, что после вывода строки на экран мы определили переменную с именем x (обратите внимание, она тоже целочисленного типа int, как и наш главный метод main). Когда программа дойдет до строки std::cin >> x, то она "зависнет" до тех пор, пока пользователь (т.е. Вы) не введёт что-то с клавиатуры. Мы пока не будем усложнять себе задачу и представим, что мы всегда будем вводить только целые числа с клавиатуры без каких-то дополнительных проверок. И тогда нам останется лишь понять, чётное это число или нет.

Что делает наша программа дальше, когда число введено? Она использует условный оператор if, в котором вычисляет остаток от деления числа x на 2 (ведь именно так определяется чётность/нечётность числа). Если остаток от деления x на 2 равен 0, то на экран будет выведено сообщение "The number is even\n" (т.е. "Число чётное"), и программа завершит свою работу. В противном же случае, если остаток от деления числа x на 2 не равен 0, то мы "уйдем" в ветку else оператора, где будет выведено другое сообщение: "The number is odd\n" (т.е. "Число нечётное").

Теперь вы уже знаете, что оператор "процента" % в языке C++ обозначает "вычислить остаток от деления на <число>". Поэтому везде, где Вам нужно будет выполнять подобную проверку, помните про этот полезный оператор. Также, обратите внимание, что проверка на равенство осуществляется через двойной знак равно ==. В языке C++ мы таким образом можем сравнить левую и правую часть нашего условия. В случае, когда условие истинно, то программа войдет в блок if, в противном случае она уйдет в блок else и исполнит те операторы нашей программы, которые расположены в нём.

Ну что ж, проверим, как это работает? Вперёд! Запускаем программу опять по комбинации клавиш Ctrl+F5 и увидим на экране приглашение для ввода нашего произвольного числа:

 

Давайте введём, к примеру, число 55 и посмотрим, что из этого выйдет. Вводим с клавиатуры 55 и жмём клавишу Enter:

Как видим, наша программа сработала - она "поняла", что число 55 не делится без остатка на 2 и вывела на экран ожидаемую строку "The number is odd" ("Число нечётное").

На этом в данной статье мы пока остановимся и больше не будем усложнять нашу простую программу на C++. В других статьях по программированию на C++ мы попробуем углубить наши знания по C++. А пока на этом всё, удачи и пишите результаты своих экспериментов с программами на C++ в комментариях. 

Яндекс.Метрика