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

Ошибка компиляции. Не удается открыть файл включение: "no such file or directory". - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 117, средняя оценка - 4.94
zmei89
31 / 6 / 1
Регистрация: 10.09.2010
Сообщений: 824
22.12.2011, 11:27     Ошибка компиляции. Не удается открыть файл включение: "no such file or directory". #1
а именно на эту #include "help.h"

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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
#include "stdafx.h"
#include "help.h"
#include <iostream>
#include <cstring>
 
using namespace std;
 
// ----- class Student -----
 
// default constructor
Student::Student()
{
    // default values
    m_name = NULL;
    m_course = 0;
    m_ID = 0;
}
 
// constructor with parameters
Student::Student(const char *name, int course, int ID)
{
    // set name
    if(name != NULL)
    {
        // memory allocation
        try
        {
            m_name = new char[strlen(name) + 1];
        }
        catch(...)
        {
            // error
            exit(0);
        } // end of try-catch
 
        strcpy(m_name, name);
    } // end of if
 
    // set course and ID
    if(course >= 1 && course <= 6)
    {
        m_course = course;
    } // end of if
    m_ID = ID;
}
 
// destructor
Student::~Student()
{
    // free memory
    if(m_name != NULL)
    {
        delete [] m_name;
    } // end of if
}
 
// show info
void Student::ShowInfo() const
{
    if(m_name != NULL)
    {
        cout << "Name: " << m_name << "\t" << "Course: " << m_course << "\t" << "ID: " << m_ID << endl;
    } // end of if
    else
    {
        // no name, nothing to do
        cout << "Student has no name" << endl;
    } // end of else
}
 
// ----- class DipStudent -----
 
// default constructor
DipStudent::DipStudent()
{
    // default value
    m_theme = NULL;
}
 
// with params
DipStudent::DipStudent(const char *name, int course, int ID)  : Student(name, course, ID)
{
    // default value
    m_theme = NULL;
}
 
// one more...
DipStudent::DipStudent(const char *name, int course, int ID, const char *theme) : Student(name, course, ID)
{
    // set theme
    if(theme != NULL)
    {
        try
        {
            m_theme = new char[strlen(theme) + 1];
        }
        catch(...)
        {
            // error
            exit(0);
        } // end of try-catch
 
        strcpy(m_theme, theme);
    } // end of if
}
 
// destructor
DipStudent::~DipStudent()
{
    // free memory
    if(m_theme != NULL)
    {
        delete [] m_theme;
    } // end of if
}
 
// set theme
void DipStudent::SetTheme(const char *theme)
{
    // free memory, allocate new block and copy new theme
    if(theme != NULL)
    {
        if(m_theme != NULL)
        {
            delete [] m_theme;
        } // end of if
 
        try
        {
            m_theme = new char[strlen(theme) + 1];
        }
        catch(...)
        {
            // error
            exit(0);
        } // end of try-catch
 
        strcpy(m_theme, theme);
    } // end of if
}
 
// set ID
void DipStudent::SetID(int ID)
{
    m_ID = ID;
}
 
// show info
void DipStudent::ShowInfo() const
{
    // same as in Student::ShowInfo()
    if((m_name != NULL) && (m_theme != NULL))
    {
        cout << "Name: " << m_name << "\t" << "Course: " << m_course << "\t" << "ID: " << m_ID << "\t" << "Diploma theme: " << m_theme << endl;
    } // end of if
    else
    {
        cout << "Student has no name or diploma theme" << endl;
    } // end of else
}
 Комментарий модератора 
Используйте теги форматирования кода!


и вывод вот такую ошибку
Миниатюры
Ошибка компиляции. Не удается открыть файл включение: "no such file or directory".  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.12.2011, 11:27     Ошибка компиляции. Не удается открыть файл включение: "no such file or directory".
Посмотрите здесь:

не компилируеться(fatal error C1083: Не удается открыть файл включение: stdafx.h: No such file or directory) C++
C++ Не могу запустить программу С++(fatal error C1083: Не удается открыть файл включение: iostream.h: No such file or directory)
C++ ошибка Не удается открыть файл включение: StdAfx.h: No such file or directory
VS2012 Express. Ошибка компиляции - error C1083: Не удается открыть файл включение: stdafx.h: No such file or directory C++
MS-VS выдает ошибку C1083 Не удается открыть файл включение: graphics.h: No such file or directory C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
co6ak
Кошковед
 Аватар для co6ak
403 / 496 / 29
Регистрация: 12.04.2010
Сообщений: 1,392
22.12.2011, 11:32     Ошибка компиляции. Не удается открыть файл включение: "no such file or directory". #2
дык удали этот инклуд

Добавлено через 41 секунду
И почему никто не создает "Пустой проект" в студии? Это ж так просто и так удобно.
zmei89
31 / 6 / 1
Регистрация: 10.09.2010
Сообщений: 824
22.12.2011, 11:41  [ТС]     Ошибка компиляции. Не удается открыть файл включение: "no such file or directory". #3
теперь еще больше ошибок стало
Миниатюры
Ошибка компиляции. Не удается открыть файл включение: "no such file or directory".  
co6ak
Кошковед
 Аватар для co6ak
403 / 496 / 29
Регистрация: 12.04.2010
Сообщений: 1,392
22.12.2011, 11:45     Ошибка компиляции. Не удается открыть файл включение: "no such file or directory". #4
ну, код написан левой задней ногой ( это как мыслительным центром ).
файлов там явно не хватает. такая каша смешана, что мама не горюй
zmei89
31 / 6 / 1
Регистрация: 10.09.2010
Сообщений: 824
22.12.2011, 11:47  [ТС]     Ошибка компиляции. Не удается открыть файл включение: "no such file or directory". #5
можите подправить?
агерон
 Аватар для агерон
265 / 264 / 33
Регистрация: 12.10.2009
Сообщений: 1,031
23.12.2011, 09:05     Ошибка компиляции. Не удается открыть файл включение: "no such file or directory". #6
держи

stdafx.h - файл прекомпилированных заголовков
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// stdafx.h: включаемый файл для стандартных системных включаемых файлов
// или включаемых файлов для конкретного проекта, которые часто используются, но
// не часто изменяются
//
 
#pragma once
 
#include "targetver.h"
 
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <tchar.h>
#include "student.h"
#include "diplomnik.h"
 
 
 
// TODO. Установите здесь ссылки на дополнительные заголовки, требующиеся для программы
student.h - описание класса CStudent
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#pragma once
 
class CStudent
{
    protected:
 
        int id, course;
        char* name;
        CStudent();
    
    public:
        
        CStudent(int id, int course, char *name);
        virtual ~CStudent();
        virtual void ShowInfo();
};
diplomnik.h - описание класса CDiplomnik
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#pragma once
 
class CDiplomnik:CStudent
{
    protected:    
        
        char *theme;
        CDiplomnik();
    
    public:
        
        CDiplomnik(int id, int course, char *name, char *theme);
        virtual ~CDiplomnik();
        virtual void ShowInfo();
};
student.cpp - реализация класса CStudent
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include "stdafx.h"
 
CStudent::CStudent():id(0), course(1), name(NULL){};
 
CStudent::CStudent(int id, int course, char* name)
    :id(id), course(course), name(name){};
 
CStudent::~CStudent()
{}
 
void CStudent::ShowInfo()
{ printf("id: %d\tcourse: %d\tname: %s", id, course, name); }
diplomnik.cpp - реализация класса CDiplomnik
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include "stdafx.h"
 
CDiplomnik::CDiplomnik():CStudent(), theme(NULL){};
 
CDiplomnik::CDiplomnik(int id, int course, char* name, char *theme)
           :CStudent(id, course, name), theme(theme){};
 
CDiplomnik::~CDiplomnik()
{}
 
void CDiplomnik::ShowInfo()
{ 
    CStudent::ShowInfo();
    printf("\ttheme: %s", theme);
}
main.cpp - функция main проекта
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// lab.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    CStudent *student=new CStudent(1,1,"Ivanov");
    CDiplomnik *diplomnik=new CDiplomnik(2,6,"Petrov", "Diplom");
    student->ShowInfo();
    printf("\n");
    diplomnik->ShowInfo();
    printf("\nPress any key for exit...");
    _getch();
    delete student;
    delete diplomnik;
    return 0;
}
1) прекомпиляция заголовков - прекомпиляция всех системных и пользовательских описаний типов и функций для ускорения сборки проекта

2) конструкторы и деструкторы классов CStudent, CDiplomnik реализованы для коректной инициализации/деинициализации внутрених переменных ИЗМЕНЯТЬ НИЧЕГО НЕЛЬЗЯ!!!

3) виртуальная функция ShowInfo сделана СПЕЦИАЛЬНО! для понимания зачем читай про наследование и полиморфизм

4) проект компилировался в MS VS 2008
Вложения
Тип файла: rar lab.rar (4.6 Кб, 106 просмотров)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.12.2011, 20:48     Ошибка компиляции. Не удается открыть файл включение: "no such file or directory".
Еще ссылки по теме:

C++ vs 2010 выдает ошибку fatal error C1083: Не удается открыть файл включение: ntddcdrm: No such file or directory
Не удается открыть файл включение. No such file or directory C++
Не удается открыть файл включение: fstream.h: No such file or directory C++

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

Или воспользуйтесь поиском по форуму:
zmei89
31 / 6 / 1
Регистрация: 10.09.2010
Сообщений: 824
26.12.2011, 20:48  [ТС]     Ошибка компиляции. Не удается открыть файл включение: "no such file or directory". #7
Цитата Сообщение от агерон Посмотреть сообщение
держи

stdafx.h - файл прекомпилированных заголовков
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// stdafx.h: включаемый файл для стандартных системных включаемых файлов
// или включаемых файлов для конкретного проекта, которые часто используются, но
// не часто изменяются
//
 
#pragma once
 
#include "targetver.h"
 
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <tchar.h>
#include "student.h"
#include "diplomnik.h"
 
 
 
// TODO. Установите здесь ссылки на дополнительные заголовки, требующиеся для программы
student.h - описание класса CStudent
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#pragma once
 
class CStudent
{
    protected:
 
        int id, course;
        char* name;
        CStudent();
    
    public:
        
        CStudent(int id, int course, char *name);
        virtual ~CStudent();
        virtual void ShowInfo();
};
diplomnik.h - описание класса CDiplomnik
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#pragma once
 
class CDiplomnik:CStudent
{
    protected:    
        
        char *theme;
        CDiplomnik();
    
    public:
        
        CDiplomnik(int id, int course, char *name, char *theme);
        virtual ~CDiplomnik();
        virtual void ShowInfo();
};
student.cpp - реализация класса CStudent
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include "stdafx.h"
 
CStudent::CStudent():id(0), course(1), name(NULL){};
 
CStudent::CStudent(int id, int course, char* name)
    :id(id), course(course), name(name){};
 
CStudent::~CStudent()
{}
 
void CStudent::ShowInfo()
{ printf("id: %d\tcourse: %d\tname: %s", id, course, name); }
diplomnik.cpp - реализация класса CDiplomnik
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include "stdafx.h"
 
CDiplomnik::CDiplomnik():CStudent(), theme(NULL){};
 
CDiplomnik::CDiplomnik(int id, int course, char* name, char *theme)
           :CStudent(id, course, name), theme(theme){};
 
CDiplomnik::~CDiplomnik()
{}
 
void CDiplomnik::ShowInfo()
{ 
    CStudent::ShowInfo();
    printf("\ttheme: %s", theme);
}
main.cpp - функция main проекта
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// lab.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    CStudent *student=new CStudent(1,1,"Ivanov");
    CDiplomnik *diplomnik=new CDiplomnik(2,6,"Petrov", "Diplom");
    student->ShowInfo();
    printf("\n");
    diplomnik->ShowInfo();
    printf("\nPress any key for exit...");
    _getch();
    delete student;
    delete diplomnik;
    return 0;
}
1) прекомпиляция заголовков - прекомпиляция всех системных и пользовательских описаний типов и функций для ускорения сборки проекта

2) конструкторы и деструкторы классов CStudent, CDiplomnik реализованы для коректной инициализации/деинициализации внутрених переменных ИЗМЕНЯТЬ НИЧЕГО НЕЛЬЗЯ!!!

3) виртуальная функция ShowInfo сделана СПЕЦИАЛЬНО! для понимания зачем читай про наследование и полиморфизм

4) проект компилировался в MS VS 2008
а в VS 2010 пойдет?

Добавлено через 2 минуты
а как сделать под VS 2010
Yandex
Объявления
26.12.2011, 20:48     Ошибка компиляции. Не удается открыть файл включение: "no such file or directory".
Ответ Создать тему
Опции темы

Текущее время: 03:22. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru