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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 30, средняя оценка - 4.90
Hagrael
БТР - мой друг
331 / 273 / 2
Регистрация: 07.01.2010
Сообщений: 1,932
#1

include и некоторые мелочи - C++

07.01.2011, 15:36. Просмотров 4168. Ответов 74
Метки нет (Все метки)

Вот код моей первой программы на C++:
C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
#include <conio.h>
 
using namespace std;
 
int main () {
    cout << "Hello world!\n";
    _getch();
    return 0;
}
Увы и ах, но она не сработала. Вот ошибка:
c:\documents and settings\admin\мои документы\visual studio projects\hello world\hello world.cpp(14): fatal error C1010: unexpected end of file while looking for precompiled header directive

И ещё такие вопросы возникли:
1. В папке resource files находятся файлы, которые используются как ресурсы - звуки, картинки и т. д. и т. п., в папке source - исходный код, а в папке header files что находится? Как я понял, так только .h файлы, но что они в себе несут? Функции? Или может только их можно подключить с помощью директивы include?

2. Чем отличается формат .cc от .cpp?

3. В каком порядке выполняются исходные файлы и файлы ресурсов, если их несколько? Я вообще так всё представляю - вначале загружаются ресурсы, потом header files, а после уже начинает выполняться код. Я правильно мыслю?

4. <iostream> и <conio.h>. Это стандартные файлы ведь? То есть их создавать не нужно, они уже в самом ядре C++ есть? То, что <iostream> есть, это понятно - он без расширения, то есть "особый" файл, а насчёт conio.h сомневаюсь - он ведь с расширением Как-то это странно - стандартный файл с расширением...

5. Зачем в проекте создавать под-проекты?

Вроде всё Извините, если много вопросов, просто новичок
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.01.2011, 15:36
Здравствуйте! Я подобрал для вас темы с ответами на вопрос include и некоторые мелочи (C++):

Подскажите, в тесте некоторые мелочи - C++
Укажите формат описания массива: а)тип_элемента имя б)тип_элемента имя В программе...

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

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

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

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

Вопрос по мелочи - C++
Здравсвуйте! Когда-то , недавно, мы обсуждали тему среднее арифметическое числа. Я вроде понял её, но есть маленький нюанс. Вот код: ...

74
Evg
Эксперт CАвтор FAQ
18030 / 6262 / 427
Регистрация: 30.03.2009
Сообщений: 17,207
Записей в блоге: 27
07.01.2011, 17:58 #16
Цитата Сообщение от Hagrael Посмотреть сообщение
TBIKC, что значит "наоборот"? И значит можно подключать даже .cpp файл (конечно же это бессмысленно), а так же из .h-файла можно подключать другие .h-файлы.
В посте #14 дал тебе ссылку. Если прочтёшь и осознаешь - куча вопросов отпадёт сама собой
0
Hagrael
БТР - мой друг
331 / 273 / 2
Регистрация: 07.01.2010
Сообщений: 1,932
07.01.2011, 18:22  [ТС] #17
Evg, и появится скорее всего тоже Но однако я читаю.
0
Day
1158 / 963 / 57
Регистрация: 29.10.2009
Сообщений: 1,385
07.01.2011, 20:05 #18
Цитата Сообщение от Hagrael Посмотреть сообщение
TBIKC, что значит "наоборот"? И значит можно подключать даже .cpp файл (конечно же это бессмысленно),
Можно! И иногда в этом даже есть смысл!
а так же из .h-файла можно подключать другие .h-файлы.
Конечно! И именно так всюду и делается!
Правда, применяется некая простая техника, чтоб исключить рекурсивные вызовы (а значит - бесконечно зацикливающиеся) подключения.
1
Hagrael
БТР - мой друг
331 / 273 / 2
Регистрация: 07.01.2010
Сообщений: 1,932
08.01.2011, 09:08  [ТС] #19
Day, понятно.
Evg, там про кавычки и угловые скобки не написано. Насколько я понял, в кавычках пишешь путь к файлу, созданному программистом, а к файлам из стандартной библиотеки путь пишется в угловых скобках, так? Но такой вопрос - почему <conio.h> пишется с .h, а <iostream> просто так? Логичнее было бы сделать все файлы из стандартной библиотеки без расширения

Добавлено через 56 минут
И ещё такой вопрос - такой код правильный?
C++
1
2
3
#define MACROS1 1
#define MACROS2 MACROS1
int a=MACROS2
То есть заменяются ли в директивах макросы?
0
silent_1991
Эксперт С++
4985 / 3042 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
08.01.2011, 09:28 #20
Hagrael, имена файлов, которые пишутся в угловых скобках, ищутся по стандартным путям, о которых известно компилятору, а имена, записанные в кавычках, ищутся только в папке, в которой находится данный исходник. По сути, можно и имена самописных хидеров писать в угловых скобках, это может прокатить, но лучше придерживаться стандартов.
И чего вы так зациклились на этом расширении? И iostream и прочие плюсовые хидеры раньше имели расширение .h, потом, после выхода стандарта его убрали, ввели пространства имён и т.д. А все сишные хидеры (включая conio) - это древние файлы, да к тому же предназначенные для си-программ, потому в них и оставили расширения.
На счёт кода, а почему бы не проверить самостоятельно, зачем спрашивать на форуме, чему равно дважды два, не удосужившись запустить калькулятор?
0
Hagrael
БТР - мой друг
331 / 273 / 2
Регистрация: 07.01.2010
Сообщений: 1,932
08.01.2011, 09:40  [ТС] #21
Так значит лучше использовать не #warning, а #pragma message, так? И передавать туда __LINE__ и __FILE__ ? И как передать в макрос значение переменной? И последний вопрос - раз в директивах можно использовать коментарии, то писать надо так:
C++
1
#define ABC A\/\/B
?

Добавлено через 7 минут
silent_1991, сказать по правде, программа у меня не компилируется, так бы конечно же сам проверил Вот код hello world.cpp :
C++
1
2
3
4
5
6
7
8
9
#include "stdafx.h"
 
using namespace std;
 
int main() {
    cout << "hello";
    cin.get();
    return 0;
}
А вот stdafx.h:
C++
1
2
3
#pragma once
 
#include <iostream>
Ошибка:
c:\documents and settings\admin\мои документы\visual studio projects\hello world\hello world.cpp(4): fatal error C1083: Cannot open precompiled header file: 'Debug/hello world.pch': No such file or directory

Как я понял, с файлами это совсем не связано, но причём тут папка Debug? :streach:
0
silent_1991
Эксперт С++
4985 / 3042 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
08.01.2011, 10:10 #22
Попробуйте создать пустой проект, тогда вообще никакого stdafx не надо, ни к чему вам эти прекомпилированные библиотеки с простеньких проектах.
0
Hagrael
БТР - мой друг
331 / 273 / 2
Регистрация: 07.01.2010
Сообщений: 1,932
08.01.2011, 10:15  [ТС] #23
Всё равно не получается. Вот код:
C++
1
2
3
4
5
6
7
using namespace std;
 
int main() {
    cout << "hello";
    cin.get();
    return 0;
}
Вот ошибка:
c:\documents and settings\admin\мои документы\visual studio projects\hello\hello.cpp(8): fatal error C1010: unexpected end of file while looking for precompiled header directive
0
silent_1991
Эксперт С++
4985 / 3042 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
08.01.2011, 10:16 #24
Вы как создали проект?
0
Hagrael
БТР - мой друг
331 / 273 / 2
Регистрация: 07.01.2010
Сообщений: 1,932
08.01.2011, 10:22  [ТС] #25
silent_1991, Win32, консольный.
0
silent_1991
Эксперт С++
4985 / 3042 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
08.01.2011, 10:29 #26
Hagrael, пустой нужен. Файл -> Создать -> Проект, в свитке Visual C++ выбрать Общие, там - Пустой проект, обозвать его как-нибудь. После создания проекта в обозревателе решений кликнуть правой кнопкой мыши на Файлы исходного кода -> Добавить -> Создать элемент, там выбрать Файл С++ (.срр), его тоже как-нибудь обозвать. Вот теперь можно писать программы в этом созданном файле))
0
Hagrael
БТР - мой друг
331 / 273 / 2
Регистрация: 07.01.2010
Сообщений: 1,932
08.01.2011, 10:36  [ТС] #27
*YAHOO* Запустилось, спасибо. Вот код:
C++
1
2
3
4
5
6
7
8
9
#include <iostream>
 
using namespace std;
 
int main() {
        cout << "hello";
        cin.get();
        return 0;
}
Но hello не вывелось =( И по нажатию на клавишу программа не закрывается =(
И это работает только когда я запускаю Build code.cpp (сам файл кода), а когда запускаю Build blank2 (это у меня так проект называется), то он пишет следующее:

blank2 fatal error LNK1201: error writing to program database 'C:\Documents and Settings\Admin\Мои документы\Visual Studio Projects\blank2\Debug\blank2.pdb'; check for insufficient disk space, invalid path, or insufficient privilege

Хотя путь правильный
0
silent_1991
Эксперт С++
4985 / 3042 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
08.01.2011, 10:38 #28
Зависла штоле о_О??
0
Hagrael
БТР - мой друг
331 / 273 / 2
Регистрация: 07.01.2010
Сообщений: 1,932
08.01.2011, 10:41  [ТС] #29
silent_1991, даже не знаю Стоп! Теперь даже когда на F5 нажимаю, не работает
0
silent_1991
Эксперт С++
4985 / 3042 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
08.01.2011, 10:43 #30
Что за абстрактные фразы - "Не выводит", "Не закрывается", "Не работает". Что значит "не работает"? Зависает, перезагружается, может взрывается?
0
08.01.2011, 10:43
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.01.2011, 10:43
Привет! Вот еще темы с ответами:

Программа подсчета мелочи - C++
Всем привет, возникла такая проблема. Написал программу для подсчета мелочи, что у меня накопилась, однако думаю, что ее можно сократить...

Главная функция (вводит некоторые значения и передает их и ссылки на некоторые переменные в функцию) - C++
Написать главную функцию, которая вводит некоторые значения и передает их и ссылки на некоторые переменные в функцию. Получив результаты...

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

#include - C++
не понимаю какие &lt;stdio.h&gt;,&lt;time.h&gt; и т.д использовать. пыталась найти их характеристики в интернете, но толкового ответа не нашла,...


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

Или воспользуйтесь поиском по форуму:
30
Ответ Создать тему
Опции темы

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