Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб по С и С++ / Уч_пособие1.doc
Скачиваний:
88
Добавлен:
17.03.2015
Размер:
1.07 Mб
Скачать

Проекты и решения

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

Идея решения (solution) выражена в его названии. Решение — это механизм для объединения всех программ и других ресурсов, которые представляют решение определенной проблемы, связанной с обработкой данных. Информация о проектах решения сохраняется в двух файлах с расширениями .sh и .ncb. Когда создается проект, новое решение создается автоматически, если только не добавляется проект к уже существующему решению.

Когда создается проект вместе с решением, то позднее можно добавлять к тому же решению дополнительные проекты. Можете также добавить проекты любого рода к существующему решению, но обычно это будут проекты, которые каким-то образом связаны с уже существующими проектами того же решения. Обычно, если нет веской причины поступать иначе, каждый проект должен относиться к отдельному решению.

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

Первый шаг при написании программы в среде Visual C++ 2008 состоит в создании проекта. Это делается путем выбора пункта Файл→Создать→Проект (File→New→Project) в главном меню или же нажатием комбинации клавиш <Ctrl+Shift+N>. Также можно щелкнуть на элементе Проект... (Project...) рядом с Создать (Create:) в панели Последние проекты (Recent Projects). Наряду с перечнем файлов, определяющих код и все прочие Данные, из которых состоит программа, XML-файл проекта в папке проекта также сохраняет используемые опции Visual C++ 2008. Хотя обычно нет нужды напрямую работать с файлами проектов — они целиком поддерживаются самой IDE — можно просматривать их, если есть желание увидеть их содержимое, но необходимо соблюдать осторожность, чтобы случайно их не модифицировать. Если модификация всё же произошла ничего страшного, необходимо удалить этот файл с перекомпилировать проект, файл появиться снова.

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

При создании проекта необходимо выбрать на вкладке Создание проекта нужный тип проекта.

набрать в строке Имя имя проекта, желательно латинистками буквами , например lab1, и проследить, что бы расположение проекта указывала на нужный каталог. По умолчанию это будет папка «Мои документы\Visual Studio 2008\Projects», создаваемая системой при инсталляции MVS2008, если надо её изменить, кнопка Обзор позволяет, как в проводнике Windows, выбрать папку. Если необходимо создать новую папку, желательно не пользоваться для этого Visual Studio, лучше сначала в проводнике Windows создать нужную папку, а потом уже указать на неё системе. На следующем окне нажать кнопку далее и перейти к параметрам приложения. Здесь надо обязательно отметить Консольное приложение и поставить галочку на Пустой проект. И нажать кнопку Готово

Внешний вид окна Visual Studio 2008 изменится. Теперь наша система имеет текущее решение, содержащее один проект. Все папки проекта пусты. Необходимо создать файл для работы с исходным кодом программы. Для этого необходимо поставить указатель мыши на каталог Файлы исходного кода, нажать правую клавишу мыши на меню Добавить и из выпадающего меню выбрать создать элемент.

Из выпавшего списка необходимо выбрать Файл С++(.срр). Если действовать по другому, то есть Файл→Создать→Файл… и выбрать из списка то же самое, то создастся файл, к проекту никого отношения не имеющий, его надо будет потом прицепить к проекту. Во-первых необходимо будет сохранить этот файл и дать ему имя. Сохранение происходит при помощи Меню Файл→Сохранить (обратите внимание на имя этого файла, лучше использовать сохранить как, для того что бы можно не только изменить имя, но и отследить каталог в котором находится этот файл, каталог желательно, что бы был каталогом нашего проекта. После этого поставить указатель мыши на каталог Файлы исходного кода, нажать правую клавишу мыши на меню Добавить и из выпадающего меню выбрать существующий элемент. После этого необходимо найти наш файл отметить его указателем мыши и нажать Добавить.

Если в проекте были созданы лишние файлы их можно удалить выделив их указателем и нажать на клавиатуре клавишу Del или же «стоя» указателем на нём нажать правую клавишу мыши и выбрать Удалить из проекта.

Теперь можно писать код программы в окне редактора.

Традиционно первая программа на языке С выводит на экран строку «Hello Word». Приведём пример этой программы.

Строка №1 это деректива препроцессору о подключении заголовочного файла стандартной библиотеки потокого ввода-вывода. Она обрабатывается препроцессором до компиляции, и позволяет использовать стандартные функции для работы с потоками ввода-вывода, объявленные в заголовочном файле iostream.h. Этот файл, наряду с библиотечным файлом iostream.lib (содержит двоичные описания этих же функций ), входит в состав Microsoft Visual Studio 2008 и позволяет программисту использовать стандартные функции для работы с потоками ввода-вывода. Иногда для работы программы необходимо подключить несколько заголовочных файлов, тогда строчек с директивой #include будет несколько. Они всегда ставятся вначале. Если используется стандартный заголовочный файл, то имя файла заключается в < >, а если файл написан самим программистом и находится в каком-то другом месте, то имя заключается в “ ”.

Директивы препроцессора — это команды, выполняемые на фазе предварительной обработки компилятора, которая выполняется перед тем, как исходный код будет скомпилирован в объектный код, и директивы препроцессора обычно некоторым образом воздействуют на исходный код программы перед тем, как он будет скомпилирован.

Строка №2 говорит о том, что код программы, написанный ниже использует пространство имён std (стандартное -- standart). Пространства имён появились из-за ограмного количества функций и констант, уже объявленных в стандартных библиотеках Microsoft Visual Studio. Некоторые из них похожи, но используются разными способами, поэтому программисту необходимо указывать какие функции к какому пространству имён принадлежат используя префик в виде: std::cout . Объявление используемого пространства имён позволяет не использовать префиксы. В данном случае простанство имён std используется для работы с потоками ввода-вывода.

Строка №3 – заголовок функции main() .Это начало основного кода программы. Функция — это блок программы, который выполняет одно или несколько действий. Обычно функции вызываются другими функциями, но функция main() вызывается автоматически при запуске программы, каждая программа, выполненная в консольном приложении, должна содержать эту функцию, причём только одну, нельзя назвать другую функцию так же. Любая функция должна иметь тип возвращаемого значения, в нашем случае это слово int. Оператор return (строка 6) возвращает это значение. После имени функции в () пишутся параметры функции. Это переменные, значения которых необходимы для её вычисления. В данном случае функция main не имеет параметров о чем говорит значение void в круглых скобках.Все функции начинаются с { и оканчиваются }. То, что располагается между ними называется телом функции. Тело функции может делиться на блок описания переменных (сейчас их нет) и блок операторов (строки №5-№6). Описание переменных может находится в разных частях программы, но необходимо помнить, что есть такое понятие, как область видимости переменных: если переменныя объявлена в какой-то строке, то она не может использоваться выше этой строки, если переменная объявлена внутри конструкции из {}, то вне этого блока она не может быть использована.

Строка №5 является выводом на экран строки. cout – это имя потока для стандартного устройства вывода (экран). << -- оператор вывода (стрелочки указывают направление движения потока данных из оперативной памяти на экран. Текст заключённый в “ ” это константная строка, которая без изменений, будет выведена на экран.

Теперь можно откомпилировать программу. Компиляцию с последующим выполнением программы можно запустить нажав сочетание клавиш Ctrl+F5 или ОтладкаЗапуск без отладки. Появится окно, следующего вида: 

необходимо выбрать «Да».

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

Сообщение «Для продолжения работы нажмите любую клавишу» дописывается системой Microsoft Visual Studio 2008. И появляется только в режиме вышеуказанного запуска. Если программы была откомпилирована при помощи F7 и запущена на выполнение F5, то консольное приложение очень быстро закроется, так как в программе нет операторов, которые оставляют окно программы открытым до какой-либо реакции пользователя. Программа отрабатывает, окно консоли закрывается, пользователь ничего не успевает увидеть. Можно ввести оператор ввода с клавиатуры самостоятельно. Тогда код программы будет следующим:

строка 7 содержит объявление переменной к, строка 8 вводит значение переменной к с клавиатуры. cin -- имя стандартного потока ввода (клавиатура), >> знак операции ввода (с устройства в переменную). В строке 6 пришлось писать сообщение так называемой латиницей (русские слова на латинской раскладке). Это необходимо потому, что кодировки консольного приложения и Microsoft Visual Studio 2008 не совпадают. Для того что бы выводить на консоль русские фразы их необходимо перевести из кодировки Windows в кодировку Dos. Как это сделать будет рассказано позже.