Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/88: Рейтинг темы: голосов - 88, средняя оценка - 4.88
0 / 0 / 0
Регистрация: 07.11.2008
Сообщений: 33

Первая программа. Код не компилируется и не запускается программа.

12.06.2012, 16:17. Показов 17508. Ответов 19
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Первая программа, первая ошибка

Здравствуйте! Решил учить С++. Скачал книгу Programming: Principles and Practice Using C++, Бьерн Страуструп. И на первой же программе "Hello, World!" возникла проблема. Код не компилируется и не запускается программа. Я так понял вся проблема в директиве подключаемого файла (1 строка).
C++
1
2
3
4
5
6
#include "std_lib_facilities.h" 
int main()
{
cout << "Hello, World! \n" ;
return 0;
}
Код писал в visual c++, создал новый файл "Win32 Console Application".
Подскажите в чем моя ошибка?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.06.2012, 16:17
Ответы с готовыми решениями:

Не компилируется первая программа
Подскажите пожалуйста в чём проблема. Попробовал и ` и &quot; и &lt; выход тот же самый. Как будто сам язык не хочет что бы я на нем...

Программа компилируется, но не запускается
Программа компилируется, говорит мне, что Построение успешно завершено, и всё.... Больше ничего. Также не запускается exe файл из папки...

Программа компилируется, но не запускается
любая абсолютно программа на C++ если нет ошибок компилируется, но если запустить, треугольник типа нажат но ничего не происходит(не...

19
68 / 68 / 18
Регистрация: 03.06.2012
Сообщений: 176
12.06.2012, 16:52
Я не знаю что это за файл "std_lib_facilities.h". Но я бы вот так сделал
C++
1
2
3
4
5
6
7
#include "iostream"
 
int main()
{
std::cout << "Hello, World! \n" ;
return 0;
}
0
0 / 0 / 0
Регистрация: 28.11.2011
Сообщений: 14
12.06.2012, 17:02
Вот так
C++
1
2
3
4
5
6
7
#include "iostream" 
using namespace std;
int main()
{
cout << "Hello, World! \n" ;
return 0;
}
0
 Аватар для soon
2554 / 1319 / 178
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
12.06.2012, 17:05
Я вот вам обоим сейчас в папку с исходником засуну пустой iostream, и черта с два у вас что-нибудь скомпилируется.
0
 Аватар для DiffEreD
1458 / 795 / 257
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
12.06.2012, 17:16
std_lib_facilities.h ето наверное файл из книги "Бьерн Страуструп - Программирование. Принципы и практика использования C++". Его можно скачать с сайта етой книги.
0
0 / 0 / 0
Регистрация: 07.11.2008
Сообщений: 33
12.06.2012, 17:23  [ТС]
to g-h & Ксения777

С #include <iostream.h> я уже писал и все работает. И это не решает проблему. Почему не подключается нужная библиотека. Сомневаюсь что ошибка (опечатка) в книге. Всетаки ее рекают на этом ресурсе, да и автор не нуб. Может надо в борладе С++ писать или еще гдето или не в консоле, а если консоли то при создании нид что-то указать.

Добавлено через 4 минуты
Цитата Сообщение от yuron_477 Посмотреть сообщение
std_lib_facilities.h ето наверное файл из книги "Бьерн Страуструп - Программирование. Принципы и практика использования C++". Его можно скачать с сайта етой книги.
Ок. Нашел что-тоhttp://www.stroustrup.com/Prog... cilities.h и что мне с этим делать?
0
 Аватар для DiffEreD
1458 / 795 / 257
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
12.06.2012, 17:27
Цитата Сообщение от InstInkt Посмотреть сообщение
и что мне с этим делать?
Я пользуюсь Visual Studio 2010 и файл соответственно закинул в директорию C:\Program Files\Microsoft Visual Studio 10.0\VC\include
0
0 / 0 / 0
Регистрация: 07.11.2008
Сообщений: 33
12.06.2012, 17:31  [ТС]
Так же наше текст, вот только я в анг. не силен. может это вам поможет разобраться.

<<Note that different compilation systems and programmer communities have different conventions for where to put header files. The book assumes that a header file is in the same directory/folder as the .cpp files and uses "plain" #include "std_lib_facilities.h". If that doesn't work, try #include "../std_lib_facilities.h" (one level up) and #include "../../std_lib_facilities.h" (two levels up).>>
0
68 / 68 / 18
Регистрация: 03.06.2012
Сообщений: 176
12.06.2012, 17:33
C++
1
2
3
4
5
6
7
8
9
10
#include "stdafx.h"
#include "iostream"
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
   cout << "Hello, World \n";
 
   return 0;
}
И не надо никакие файлы скачивать с интернета. Все правильно работает
0
0 / 0 / 0
Регистрация: 07.11.2008
Сообщений: 33
12.06.2012, 17:39  [ТС]
Залил файл в C:\Program Files\Microsoft Visual Studio\VC98\Include.
Пишет при компиляции: d:\2\2.cpp(7) : fatal error C1010: unexpected end of file while looking for precompiled header directive
Error executing cl.exe.

Добавлено через 2 минуты
Цитата Сообщение от g-h Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
#include "stdafx.h"
#include "iostream"
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
   cout << "Hello, World \n";
 
   return 0;
}
И не надо никакие файлы скачивать с интернета. Все правильно работает
Конечно не надо. Но у меня стоит задача не вывести "hello world" на экран, а запустить так как написанно в книге, т.к. я по ней буду учится.
0
68 / 68 / 18
Регистрация: 03.06.2012
Сообщений: 176
12.06.2012, 17:43
Цитата Сообщение от InstInkt Посмотреть сообщение
fatal error C1010: unexpected end of file while looking for precompiled header directive
У меня кажется такая ошибка была когда с проекта удалил строчку #include "stdafx.h".
0
 Аватар для soon
2554 / 1319 / 178
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
12.06.2012, 17:45
g-h, мало того, что ваш код непереносим, так еще и игнорируете #4

InstInkt, если вы хотите выучить, а не почитать и закинуть, то вам необходимо знать, каким заголовочным файлом что подключается. Использование std_lib_facilities.h в данном случае - ущербно.
0
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
12.06.2012, 17:48
Я плакалЪ.
Кстати, оказывается VS (не знаю как 2010, я попробовал 2008) настолько ущербен, что если при создании проекта не снять галочку с "Включить предкомпилированный заголовок", то он и вот такой код не скомпилит:
C++
1
2
3
4
5
6
#include <iostream>
int main()
{
    std::cout<< "Hello world";
    return 0;
}
0
68 / 68 / 18
Регистрация: 03.06.2012
Сообщений: 176
12.06.2012, 17:51
Цитата Сообщение от soon Посмотреть сообщение
g-h, мало того, что ваш код непереносим, так еще и игнорируете #4
Я не знаю переносим он или нет, но #9 уже написал как полностью программа есть.
0
0 / 0 / 0
Регистрация: 07.11.2008
Сообщений: 33
12.06.2012, 19:17  [ТС]
И какой выход из сложившейся ситуции? "Ущербный" vc98(это дело обновим). Учебник вроде как и не старый, издание 11-го года. "Ущербный" заголовочный подключаемый файл который автор впихнул в первую программу без всяких разъяснений, который будет использоваться и дальше в процессе обучения по книге (в двух последующих главах так точно он присутствует) и какой компилятор использовать.

PS. эту книгу рекомендует этот ресурс в разделе С++ для начинающих/литература
0
Пес войны
 Аватар для NeonLost
111 / 88 / 22
Регистрация: 23.02.2012
Сообщений: 653
12.06.2012, 20:15
Цитата Сообщение от InstInkt Посмотреть сообщение
Залил файл в C:\Program Files\Microsoft Visual Studio\VC98\Include.
Пишет при компиляции: d:\2\2.cpp(7) : fatal error C1010: unexpected end of file while looking for precompiled header directive
Error executing cl.exe.
если залил в папку с компилятором, то используй
#include <std_lib_facilities.h>
иначе закидывай в папку с проектом.
1
0 / 0 / 0
Регистрация: 07.11.2008
Сообщений: 33
12.06.2012, 21:14  [ТС]
Установил vc10 залил в него заголовочный файл и всеработает. Всем спс за помощь.
0
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
12.06.2012, 22:34
InstInkt, этот файл содержит ни что иное, как перечень библиотек. Выходит все в кучу, и вы не будете осознавать, какую именно библиотеку надо подключать в конкретных условиях. Обучаться языку по этой книжке можно свободно заменяя #include <std_lib_facilities.h> на перечень библиотек, нужных в данной программе. Нехватку библиотек компилятор сам вам явно укажет, и это не так уж сложно понять, какую нужно подключить. А учась в подобных условиях, вы ограничиваете себя в очень узкий круг компиляторов, на которых этот файл добавлен. На другом компьютере вы не напишите даже элементарный Hello world, так как для него нужно подключать библиотеки ввода-вывода, а вы названий то их не знаете.
1
Эксперт С++
 Аватар для grizlik78
2382 / 1666 / 279
Регистрация: 29.05.2011
Сообщений: 3,402
13.06.2012, 00:29
Цитата Сообщение от MrGluck Посмотреть сообщение
этот файл содержит ни что иное, как перечень библиотек
Там не только перечень библиотек заголовочных файлов. Там ещё различные функции и классы определяются, так что без этого файла в дальнейшем может оказаться невозможным чтение книги (сам я её не читал).
Цитата Сообщение от MrGluck Посмотреть сообщение
На другом компьютере вы не напишите даже элементарный Hello world, так как для него нужно подключать библиотеки ввода-вывода, а вы названий то их не знаете.
Узнает. Некоторые детали вначале имеет смысл и пропустить. Возможно Страуструп по такому пути и пошёл.
1
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
13.06.2012, 02:52
grizlik78, вы правы.
Там действительно определены еще некоторые функции и классы.
simple "Programming: Principles and Practice using C++" course header to
be used for the first few weeks.
It provides the most common standard headers (in the global namespace)
and minimal exception/error support.

Students: please don't try to understand the details of headers just yet.
All will be explained. This header is primarily used so that you don't have
to understand every concept all at once.
В самой же книжке говориться о том, что #include <std_lib_facilities.h> можно с легкостью заменить на:
C++
1
2
3
4
5
6
7
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
#include <cmath>
using namespace std;
inline void keep_window_open() { char ch; cin>>ch; }
для тех, у кого интернеты не водятся. Странно, но подробный разбор полетов по заголовочному файлу std_lib_facilities.h так и не нашел.
А вот в книжке "Язык программирования С++" подобной вещи нет, там сразу объясняется и про iostream и про using namespace std.
Не знаю, какую цель преследовал Страуструп, но если бы мне дали код с #include <std_lib_facilities.h> и спросили бы в чем ошибка в программе, я бы даже разбираться не стал. Ну что ж, ТС, если будет неясно, что конкретно нужно включать, а что нет и что за что отвечает - задавай вопросы, тебе быстро ответят.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.06.2012, 02:52
Помогаю со студенческими работами здесь

Программа не компилируется(не запускается)
Помогите решить проблему, проект сдавать завтра (11,05) Делфи 7 версия, раньше запускалась, сейчас перестал работать. Когда нажимаю Run...

Программа компилируется, но не запускается
Есть матрица 10 на 10, из нее извлекается часть 3 на 3. Первый элемент - 6 строка, 5 столбец. Компилируется без ошибок, но после...

Программа компилируется, но не запускается
создал проект Win32. когда нажал так (рисунок) он мне предложил сделать построение моего проекта. я нажал &quot;ДА&quot;, далее...

Программа компилируется, но не запускается
#include &lt;iostream&gt; using namespace std; int main() { int x = 0, y = 0; cout&lt;&lt;&quot;Set interval:&quot;&lt;&lt;endl; ...

Программа компилируется, но не запускается
Здравствуйте, первый раз сталкиваюсь с этим, опыта у меня очень мало. Потому даже и не знаю, что с этим делать программа: ...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США. Нашел на реддите интересную статью под названием «Кто-нибудь знает, где получить бесплатный компьютер или. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru