Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
49 / 49 / 13
Регистрация: 21.04.2009
Сообщений: 265
1

Директива #include

10.11.2010, 13:55. Показов 1539. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет. Пишу программу по книге Дейтел Х., Дейтел П - Как программировать на C++ FIG6_5.cpp, я компилирую проект FIG6_5.dev вместе с файлами FIG6_5.cpp и TIME1.cpp, выходят ошибки, помогите разобраться.

Заголовочный файл, который находится в папке с проектом
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#ifndef TIME1_H
#define TIME1_H
 
class Time
{
      public:
             Time();
             void setTime(int, int, int);
             void printMilitary();
             void printStandard();
      
      private:
              int hour;
              int minute;
              int second;  
};
#endif
далее создаю файл TIME1.cpp

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
#include <iostream>
#include "TIME1.h"
 
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 && m < 60) ? m : 0;
     second = (s >= 0 && s < 60) ? s : 0;     
}
 
void Time::printMilitary()
{
     cout << (hour < 10 ? "0" : "") << hour << ":"
          << (minute < 10 ? "0" : "") << minute << ":"
          << (second < 10 ? "0" : "") << second;
}
 
void Time::printStandard()
{
     cout << ((hour == 0 || hour == 12) ? 12 : hour % 12)
          << ":" << (minute < 10 ? "0" : "") << minute
          << ":" << (second < 10 ? "0" : "") << second
          << (hour < 12 ? " AM " : " PM");
}
далее создаю проект FIG6_5.dev и файл FIG6_5.cpp

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <cstdlib>
#include <iostream>
#include "time1.h"
using namespace std;
 
int main(int argc, char *argv[])
{
    Time t;
    
    cout << "Nachalnoe znachenie voennogo vremeni ravno ";
    t.printMilitary();
    cout << "\n" << "Nachalnoe znachenie standartnogo vremeni ravno ";
    t.printStandard();
    
    t.setTime(13, 27, 6);
    cout << "\n\n" << "Voennoe vremia posle setTime ravno ";
    t.printMilitary();
    cout << "\n" << "Standartnoe vremia posle setTime ravno ";
    t.printStandard();
    
    system("PAUSE");
    return EXIT_SUCCESS;
}
При компиляции выскакивают ошибки:

[Linker error] undefined reference to `Time :: Time()'
[Linker error] undefined reference to `Time :: printMilitary()'
[Linker error] undefined reference to `Time :: printStandard()'
[Linker error] undefined reference to `Time :: setTime(int, int, int)'
[Linker error] undefined reference to `Time :: printMilitary()'
[Linker error] undefined reference to `Time :: printStandard()'
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.11.2010, 13:55
Ответы с готовыми решениями:

Директива include
Допустим я создаю файл header.h:int N();, а так же файл header.cpp:#include &quot;header.h&quot; int N()...

Директива #include
Всем Привет! Помогите мне разобраться пожалуйста! Я не могу понять как работает директива #include....

Работа с файлами в C# с исп. библиотек #include <stdio.h> #include <stdlib.h> #include <math.h> #include <io.h>
В типизированном файле записаны названия городов и их численность. Увеличить численность каждого...

#include<iostream>// подключение библиотек #include <conio.h> #include <climits>
помогите для этой программы сделать блок-схему. Пожалуйста #include&lt;iostream&gt;// подключение...

6
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
12458 / 7482 / 1753
Регистрация: 25.07.2009
Сообщений: 13,762
10.11.2010, 14:20 2
grrrrr, я в командной строке пытался скомпилировать, ругнулось на cout в time1.cpp поправил - скомпилировалось и что-то вывело...
time1.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#ifndef TIME1_H
#define TIME1_H
 
class Time
{
      public:
             Time();
             void setTime(int, int, int);
             void printMilitary();
             void printStandard();
 
      private:
              int hour;
              int minute;
              int second;
};
 
#endif // TIME1_H

time1.cpp
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
#include <iostream>
#include "time1.h"
 
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 && m < 60) ? m : 0;
     second = (s >= 0 && s < 60) ? s : 0;
}
 
void Time::printMilitary()
{
    std::cout << (hour < 10 ? "0" : "") << hour << ":"
          << (minute < 10 ? "0" : "") << minute << ":"
          << (second < 10 ? "0" : "") << second;
}
 
void Time::printStandard()
{
    std::cout << ((hour == 0 || hour == 12) ? 12 : hour % 12)
          << ":" << (minute < 10 ? "0" : "") << minute
          << ":" << (second < 10 ? "0" : "") << second
          << (hour < 12 ? " AM " : " PM");
}

app.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <cstdlib>
#include <iostream>
#include "time1.h"
 
int main(int argc, char *argv[])
{
    Time t;
 
    std::cout << "Nachalnoe znachenie voennogo vremeni ravno ";
    t.printMilitary();
    std::cout << "\n" << "Nachalnoe znachenie standartnogo vremeni ravno ";
    t.printStandard();
 
    t.setTime(13, 27, 6);
    std::cout << "\n\n" << "Voennoe vremia posle setTime ravno ";
    t.printMilitary();
    std::cout << "\n" << "Standartnoe vremia posle setTime ravno ";
    t.printStandard();
 
    // system("PAUSE");
    return EXIT_SUCCESS;
}

Директива #include
0
49 / 49 / 13
Регистрация: 21.04.2009
Сообщений: 265
10.11.2010, 15:20  [ТС] 3
easybudda, поправил тоже cout, проблема осталась..
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
12458 / 7482 / 1753
Регистрация: 25.07.2009
Сообщений: 13,762
10.11.2010, 15:24 4
Цитата Сообщение от grrrrr Посмотреть сообщение
проблема осталась..
Значит не так как-то проект создаёте... По сути нужно создать один проект и в него по очереди все три файла добавлять. Вы среду разработки укажите - кто-нибудь точнее подскажет. В самом коде ошибок, видимо, нет - компилируется, выполняется...
1
49 / 49 / 13
Регистрация: 21.04.2009
Сообщений: 265
10.11.2010, 15:30  [ТС] 5
Среда Dev C++ v.4.9.9.2, проблем вроде раньше не было, я сейчас в первый раз делаю заголовочные файлы в Dev C++. Помогите. Просто в книге по этой главе и далее идут проекты с заголовочными файлами.
0
Evg
Эксперт CАвтор FAQ
21279 / 8301 / 637
Регистрация: 30.03.2009
Сообщений: 22,659
Записей в блоге: 30
10.11.2010, 16:24 6
Судя по всему, файл TIME1.cpp в компиляцию не попал
1
49 / 49 / 13
Регистрация: 21.04.2009
Сообщений: 265
10.11.2010, 16:35  [ТС] 7
Evg, скачаю wxDev-C++ наверное, потом проверю.
0
10.11.2010, 16:35
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.11.2010, 16:35
Помогаю со студенческими работами здесь

Чем отличается #include <cstring>, #include <string> и #include <string.h>?
Доброго времени суток :) Пишу свой класс и мне для нужны функции для работы со строками. Когда...

Не находит #include<iomanip.h> #include<conio.h>
Само задание: Услуги телефонной сети оплачиваются по следующему правилу: за разговоры до A минут в...

Какая разница между #include<> и #include""?
Позволите спросить несколько вопросов: 1)Какая разница между #include&lt;&gt; и #include&quot;&quot; 2)Если нужно...

Директива using
Задался вопросом по поводу директива using. #include &lt;iostream&gt; namespace x{int a = 100; int b...

Директива препроцессора #if
Вобще при коспиляции файла взятого с офф сайта микрософт endian.h Получаю вот такие ошибки...

Не работает директива
Здравствуйте. Занимаюсь по книге Prata. Использую code::bloocks 17.12... Начал читать про шаблонный...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru