IV. Добавление файлов к проекту

Для удобной работы необходимо добавлять файлы к уже открытому проекту. Меню File->New->File.

Для примера добавим новый заголовочный файл. Для этого выбираем C/C++ header.

Нажимаем Go.

Указываем размещение файла и его имя. Обратите внимание, что он расположен в папке проекта. Устанавливаем галочку на Add file to active project. И ставим галочки напротив Debug и Release. Это означает, что данный файл мы хотели бы добавить и в отладочную и в результирующую версию программы. Нажимаем Finish.

После этого мы снова попадем в среду разработки, но а панели управления проектом появится папка Headers, в которой будет находится новый заголовочный файл. В области кода этот файл будет автоматически открыт для редактирования.

В заголовочный файл автоматически были добавлены следующие строки:

#ifndef MY_MOD1_H_INCLUDED

#define MY_MOD1_H_INCLUDED

#endif // MY_MOD1_H_INCLUDED

Директивы #ifndef, #define, #endif используются для того, чтобы избежать повторного включения одного и того же кода. Таким образом, вне зависимости от того, сколько раз будет подключен данный заголовочный файл, он будет скомпилирован только один раз.

Вместо данной конструкции может быть использована #pragma once - нестандартная, но широко распространенная препроцессорная директива.

Код модуля должен начинаться после строки #define и заканчиваться до строки # endif.

V. Особенности написания кода (в отличие от BorlandC):

  1. Функция main() должна возвращать значение. Поэтому минимальный проект должен иметь следующую одну из эквивалентных форм:
int main() { return 0; } main() { return 0; }
  1. Заголовочные файлы. При написании программ следует помнить о том, что заголовочные файлы для C имеют формат «имя.h»,а для C++ принято добавлять «с» в начале и не использовать расширение «.h». Например, функция printf() находится и в файле «stdio.h» и в «cstdio».
  2. Пространство имен. В отличие от Borland C, в codeBlocks реализована нормальная работа с пространствами имен. На начальном уровне чаще всего будет использовано пространство имен std (пространство имен - это механизм С++, предназначенный для предотвращения проблем, связанных с дублированием имен, применяемых в программе для разных целей).
  3. Примеры операций:

4.1. Очистка экрана(консоли)

system(“cls”); // заголовочные файлы: stdlib.h или cstdlib

справка:

int system(char *string);

Функция system() обеспечивает передачу строки string командному процессору DOS, как если бы эта строка была набрана за терминалом. Текущая программа ожидает конца исполнения команды, а затем возобновляет работу.

4.2. Ожидание нажатия клавиши

Вариант 1:

system(“pause”); // заголовочные файлы: stdlib.h или cstdlib

Вариант 2:

std::cin.sync(); // заголовочный файл: iostream

std::cin.get(); // заголовочный файл: iostream

примечание:

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

4.3. Потоковый ввод вывод. cin, cout, endl и некоторые другие функции по работе с потоковым вводом/выводом находятся в пространстве имен std. Для исключения возможных проблем с дублированием имен, не рекомендуется подключать все пространство имен:

using namespace std;

Более правильно будет подключить только те функции, которые вы намерены использовать в процессе написания программы:

using std::cin;

using std::cout;

using std::endl;

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

cout<<”Test”<<endl;

4.4. Инициализация счетчика случайных чисел.

srand(time(NULL)); // заголовочные файлы: time.h и stdlib.h или ctime и cstdlib

Генерация случайного числа:

int a = rand();

примечание:

Функция rand() возвращает случайное число в диапазоне от 0 до 32767.

С помощью операции деления по модулю % результат может быть отображен в заданном диапазоне, например:

//целые числа в диапазоне [0; 9]

int a = rand() % 10;

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

// вещественные числа в диапазоне от 0 до 9.9 с шагом 0.1

int a = (rand() % 100) / 10;

// целые числа в диапазоне от -3 до 5

int a = (rand() % 9) - 3; // диапазон [0; 8] сдвигается на 3 влево


4.5. Работа с датой и временем

Структура tm содержит компоненты календарного времени.

Имя Описание
int tm_sec; Секунды от начала минуты(0,59)
int tm_min; Минуты от начала часа(0,59)
int tm_hour; Часы от полуночи(0,23)
int tm_mday; Число месяца(1,31)
int tm_mon; Месяцы после января(0,11)
int tm_year; Годы с 1900
int tm_wday; Дни с воскресенья(0,6)
int tm_yday; Дни с первого января(0,365)
int tm_isdst; Признак летнего времени (значение 1 обозначает, что летнее время есть)

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



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