Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 31, средняя оценка - 4.84
Andrey I
0 / 0 / 0
Регистрация: 28.01.2013
Сообщений: 3
#1

code::blocks не находит .h файл - C++

28.01.2013, 20:05. Просмотров 4975. Ответов 8
Метки нет (Все метки)

Написал в code::blocks пример из книги Х.Дэйтел "как программировать на C++"

при компиляции выдает: Fatal error: time1.h: No such file or dirrectory

очевидно, что компилятор не знает пути к .h файлу. Где его прописать или что сделать чтобы программа скомпилировалась?

Имеется вот что (все файлы в одном каталоге):

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// TIME1.H
 
#ifndef TIME1_H
#define TIME1_H
 
using namespace std;
 
class Time{
 
public:
    Time();
    void setTime(int, int, int);
 
    void printMilitary();
    void printStandart();
 
private:
    int hour;
    int minute;
    int second;
};
#endif
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#include <iostream>
#include <TIME1.H>
 
 
using namespace std;
 
class Time{
 
public:
    Time();
    void setTime(int, int, int);
 
    void printMilitary();
    void printStandart();
 
private:
    int hour;
    int minute;
    int second;
};
 
Time::Time() { hour = minute = second = 0; }
 
void Time::setTime (int h, int m, int s)
{
    hour = (h >= 0 && h < 24) ? h : 0;
    minute = (m >= 0 && h < 60) ? m : 0;
    second = (s >= 0 && h < 60) ? s : 0;
}
 
void Time:: printMilitary ()
{
    cout << (hour < 10 ? "0":"") << hour << ":"
         << (minute < 10 ? "0":"") << minute << ":"
         << (second < 10 ? "0":"") << second ;
}
 
void Time:: printStandart()
{
    cout << ( (hour == 0 || hour == 12) ? 12 : hour % 12)
         << ":" << (minute < 10 ? "0":"") << minute << ":"
         << (second < 10 ? "0":"") << second
         << (hour < 12 ? " AM" : " PM");
}
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include <iostream>
#include <time1.h>
 
using namespace std;
 
main()
{
    Time t;
 
    t.printMilitary();
    cout << endl;
    t.printStandart();
 
    t.setTime(12, 30, 55);
    cout << endl;
    cout << endl;
 
    t.printMilitary();
    cout << endl;
    t.printStandart();
 
    t.setTime(19, 9, 34);
    cout << endl;
    cout << endl;
 
    t.printMilitary();
    cout << endl;
    t.printStandart();
 
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.01.2013, 20:05
Здравствуйте! Я подобрал для вас темы с ответами на вопрос code::blocks не находит .h файл (C++):

Code Blocks и файл ресурсов - C++
Как приковать файл rc к программе в Code Blocks? Пытался по-разному: компилировал и встроенным компиляторомGNU GCC), и Resource Builder,...

code::blocks 10.05 - C++
Я установил себе C++ code::blocks. И когда я компилирую любую программу и потом запускаю .exe выдаёт ошибку не находит libstdc++-6.dll. Я...

Code::blocks - C++
Помогите как включить #include &lt;graphics.h&gt; #include &lt;windows.h&gt; в Code::block - се ,

Code::blocks и VS - C++
всем привет, у меня такой вопрос: какой в Code::blocks аналог для #include stdafx.h? Нужно запустить, операции использую для этой...

Code::Blocks - C++
Здравствуйте. Я в английском не силён, и разобраться самостоятельно с этой IDE не могу. У меня есть несколько вкладок с открытыми *.cpp...

MS VS in CODE BLOCKS - C++
Делал проекты в VISUAL C++ EXPRESS. Сеичас пересел на LINUX, пользуюсь CODE BLOCKS . Есть какие-нибудь варианты как открыть проекты...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Джек
5 / 5 / 0
Регистрация: 16.08.2011
Сообщений: 77
28.01.2013, 20:13 #2
Здравствуйте в коде вы написали:
C++
1
#include <time1.h>

Попробуйте поставить просто:

C++
1
#include <time.h>
0
MrGluck
Модератор
Эксперт CЭксперт С++
7239 / 4407 / 642
Регистрация: 29.11.2010
Сообщений: 11,929
28.01.2013, 20:18 #3
Хедеры разные.
Для удобства работы, создавайте проект, а дальше Project >> Add files, либо в CB просто File >> New >> Empty File и подтвердите "Добавить в проект".
Советую
C++
1
main()
исправить на
C++
1
int main()
т.к. запись устарела и была валидна лишь на момент написания книги. Вдобавок, в языке С++ если идентификатор возвращаемого значения функции не указан, то он по-умолчанию void, что противоречит стандарту (main must be int).
0
Somebody
2789 / 1603 / 145
Регистрация: 03.12.2007
Сообщений: 4,193
Завершенные тесты: 1
28.01.2013, 20:19 #4
C++
1
#include "time1.h"
Свои .h в кавычках надо.
0
Andrey I
0 / 0 / 0
Регистрация: 28.01.2013
Сообщений: 3
28.01.2013, 21:28  [ТС] #5
Кавычки действительно забыл, вместо них <>. Поправил.

int поставил, но пока все равно не собирается.

Попробую проект организовать с использованием кнопки add to project

#include <time.h> здесь вроде бы не надо, т.к. не вызываются функции этой библиотеки. посмотрел в исходнике, там тоже нет этого.

Добавлено через 32 минуты
Быть может в code::blocks надо указать путь, где .h файл находится в настройках компилятора??

Код проверил несколько раз, все в норме. Нашел еще ошибку. все исправил... но проект не собирается работать...
0
coloc
погромист
410 / 246 / 15
Регистрация: 27.08.2012
Сообщений: 550
Завершенные тесты: 1
28.01.2013, 21:42 #6
Так какое название хедера? <time1.h> или <TIME1.H>. С++ регистрозависимый
0
MrGluck
Модератор
Эксперт CЭксперт С++
7239 / 4407 / 642
Регистрация: 29.11.2010
Сообщений: 11,929
28.01.2013, 21:45 #7
Давайте по порядку:
1. Создаете новый проект
code::blocks не находит .h файл

2. В main.cpp вставляете ваш main, с заменой кавычек у хедера сверху на "time1.h"
code::blocks не находит .h файл

3. Добавляете новый пустой файл
code::blocks не находит .h файл

4. Подтверждаете, что добавляете к сущ. проекту
code::blocks не находит .h файл

5. Сохраняете как time1.h, вставляете туда ваш код из первых cpp тегов. Аналогично добавляете в проект файл time1.cpp
code::blocks не находит .h файл

6. Удаляете объявление класса из .cpp файла, изменяете кавычки. Компилируете
code::blocks не находит .h файл

Всё работает!
Также прикрепляю к посту готовый проект.
2
Вложения
Тип файла: rar Time.rar (59.5 Кб, 73 просмотров)
Andrey I
0 / 0 / 0
Регистрация: 28.01.2013
Сообщений: 3
28.01.2013, 21:56  [ТС] #8
Все заработало! Спасибо!

Я неправильно создавал проект. У меня даже кнопка add to project не работала.

Ошибка была вот в чем: я создавал пустой текстовый файл с именем time1.h, time1.cpp, fig6_5.cpp и открывал их через: File -> New -> File -> CPP project и CPP header

Думал что достаточно нахождения оных в одной папке для успешной сборки.
0
vadomas
0 / 0 / 0
Регистрация: 16.03.2016
Сообщений: 1
16.03.2016, 18:01 #9
MrGluck от души помог, спасибо !
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.03.2016, 18:01
Привет! Вот еще темы с ответами:

Code::Blocks - C++
В Code::Blocks когда ты откомпилил программу в Debug, после внес изменения и снова &quot;откомпилил&quot;, то нет результата от 2-й компиляции -...

отладка Code::Blocks - C++
Помогите кто разбирается в этом:(. Недавно скачал новые версии Code::Blocks (10.05) codeblocks-10.05mingw-setup и codeblocks-10.05setup....

Настройка Code::Blocks - C++
Здравствуйте! Ребята помогите настроить компилятор и отладчик в Code::Blocks.Дело в том что я пока мись чайник в ентом деле, да и с...

Code Blocks ошибка - C++
Помогите разобраться, почему программа выдает ошибку.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
16.03.2016, 18:01
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru