Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Алгоритмизация и программирование .doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.35 Mб
Скачать

2.1. Разработка консольного проекта

Любое приложение на языке C++, разрабатываемое в среде проектирования Visual Studio.NET, реализуется как отдельный проект.

Проект – это основная единица, с которой работает программист в среде Visual Studio.

Вы можете создать новый проект, выбирая Файл | Создать | Проект в меню Visual Studio. При этом откроется диалоговое окно New Project с разнообразными видами проектов (рис.1).

Рис.1. Вид диалогового окна Создания проекта

Для рассмотрения работы в интегрированной среде разработки создадим простое консольное приложение. Консольное приложение позволит ограничиться небольшим объемом кода и сосредоточиться на наиболее важных вопросах изучения работы в среде Visual Studio.

В среде Visual Studio имеются два вида проектов консольного приложения: Консольное приложение Win32 и Консольное приложение CLR. Основное различие проектов в вводе и выводе информации.

В приложение Win32 для ввода c клавиатуры используется поток cin, а для вывода – cout. Для использования указанных потоков к программе необходимо подключить заголовочный файл iostream.h и пространство имен std. Также для обеспечения возможности вывода в консольное приложение русского текста (а не «абракадабру») требуется настройка функции setlocale.

В приложении CLR для ввода информации используется функция ReadLine(), а для вывода – Write() и WriteLine(). Для использования данных функций не требуется подключать никаких дополнительных заголовочных файлов и пространств имен. Пространство имен System (в котором они описаны) компилятор подключает сам автоматически. Использование кириллицы не требует никаких настроек. Учитывая преимущества CLR приложения перед Win32 в данной методической разработке используется Консольное приложение CLR.

Выбираем тип проекта Консольное приложение CLR. Задаем имя и расположение проекта. Для проектов рекомендуется создать личную папку. Назовем наш первый проект pr1 и создадим для него папку Stud (рис.2).

Рис.2. Вид диалогового окна Создать проект с заданным именем и расположением проекта.

После выполнения указанных действий получаем шаблон для разработки консольного приложения (рис.3):

Рис.3. Шаблон для разработки консольного приложения.

Созданный проект содержит набор файлов. Нас интересует главный файл проекта, имя которого совпадает с именем проекта (имя проекта Вы задали при создании проекта) и имеет расширение cpp. В этот файл программист добавляет код программы.

Вы сразу можете выполнить данную программу. Для выполнения программы необходимо либо выбрать в меню Отладка | Начать отладку, либо нажать на клавишу F5, либо щелкнуть правой клавишей мышки по .

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

Для задержки результат на экране добавим в программу оператор ввода Console::ReadLine();

Пример 2_1. Пример консольной программы

#include "stdafx.h"

using namespace System;

int main(array<System::String ^> ^args)

{

Console::WriteLine(L"Здравствуй, мир!");

Console::ReadLine();

return 0;

}

Результат работы программы:

Здравствуй, мир!

2.2. Структура программы на языке С++

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

#Заголовок

int main()

{

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

выполнить компьютер

}

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

При транслировании программы на языке С++ текст сначала обрабатывает специальная программа – препроцессор. Затем измененный препроцессором текст обрабатывается компилятором.

Препроцессор обрабатывает директивы препроцессора, заменяя их текстом.

Любая директива начинается со знака #.

Подключение заголовочного файла к программе осуществляется с помощью директивы препроцессора #include.

Заголовочный файл stdafx.h компилятор добавляет сам. Он предназначен для хранения всех "основные" include-файлов проекта. include-файлы проекта можно подключать и в основном файле проекта (сразу после строки с подключением stdafx.h).

using namespace System; - обеспечивает подключение пространства имен System, в котором находятся описание для Console.

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

В приведенном примере для вывода информации на экран используется функция WriteLine, которая принадлежит пространству имен System::Console, на что указывает префикс перед именем функции (строго говоря, функция WriteLine – это метод класса Console, который принадлежит пространству имен System). Поскольку пространство имен подключено к проекту, для использования метода WriteLine указывается только Console::WriteLine. В случае, если пространство имен System не будет подключено к проекту, то для использования WriteLine нужно указывать System::Console::WriteLine.

Программа, составленная на языке С++, может содержать одну или больше функций.

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

Фактически каждая функция включает в свое имя круглые скобки, но в большинстве случаев в них содержится некая информация, передаваемая функции. Поскольку в функцию main() мы не будем передавать никаких параметров, то не будем анализировать информацию, находящуюся в скобках main(). (Как-то исторически сложилось, что «все, что сделал компилятор – удалять не надо», но вот информацию из круглых скобок метода main() можно смело удалить.)

Перед именем функции указывается ключевое слово, соответствующее типу возвращаемого функцией значения. Функция main() возвращает целое число, поэтому используется ключевое слово int. Возврат значения из функции осуществляется оператором return.

Следом за main() вводятся инструкции. Инструкции могут быть представлены в виде стандартных команд и имен функций, содержащихся в библиотеках или написанных Вами самостоятельно. Открывающаяся фигурная скобка { помещается перед первой инструкцией, а закрывающаяся фигурная скобка } следует за последней.