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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 144, средняя оценка - 4.64
Serg_Smith
1 / 1 / 0
Регистрация: 17.11.2011
Сообщений: 20
#1

Тайна Страуструпа - std_lib_facilities.h ! - C++

17.11.2011, 02:22. Просмотров 20138. Ответов 83
Метки нет (Все метки)

Доброго времени суток.
Я начал изучать чудесный язык программирования С++ по книге Принципы и практика использования C++ Страуструпа.
Начитался ,что автор весьма серьезный и из этой книги можно подчеркнуть много полезного.
Но сразу столкнулся с проблемой,Код автора оказался у меня неработоспособен =( :

C++
1
2
3
4
5
6
7
8
#include "../../std_lib_facilities.h"       /*там было еще вот так "std_lib_facilities.h" ,что так же не дало никакого результата,в какие папки бы я не кидал этот фаил, взятый с его сайта.*/
 
int main()
{
   cout << "Hello, World!\n";
   keep_open_window();
   return 0;
}
я читал приложение ,в конце книги ,в котором даны инструкции по работе с этим магическим заголовком. Ничего не помогло ,весь итог :
helloworld.cpp(3): warning C4627: #include "../../std_lib_facilities.h": пропущен при поиске использования предкомпилированного заголовка
Добавление директивы в "StdAfx.h" или перестройка предкомпилированного заголовка
helloworld.cpp(11): fatal error C1010: непредвиденный конец файла во время поиска предкомпилированного заголовка. Возможно, вы забыли добавить директиву "#include "StdAfx.h"" в источник.
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========


Конечно,в этой программе вместо первой строчки, можно было поставить строки (опять же данные в книге,как сноска к первой программе) ,но каждый раз модифицировать написанные в книге программы ,для человека не знакомого с этим делом -весьма и весьма печальное занятие...

Так как я ,не знаком ранее с программированием ,я решил поискать книгу ,в которой идет объяснение по написанию сразу в Visual Studio 2010. По отзывам этот автор весьма авторитетен и его книги весьма поучительные,но столкнувшись с этим делом ,продолжил свои поиски и нашел книгу Бориса Пахомого C/C++ и Visual Studio 2010 ,но найдя ошибку в коде третей его программки (кстати в скриншотах ясно видно ,что программа работает некоректно,но автора это не остановило ),я усомнился ,стоит ли продолжать обучение по этой книге ,потому как объяснение тоже какое то стремное (


Ребята ,помогите мне с этим std_lib_facilities.h у Страуструп или посоветуйте стоящую книгу для старта С++ в Visual Studio 2010.


Заранее благодарю всех откликнувшихся!
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Navern
4 / 4 / 0
Регистрация: 01.10.2011
Сообщений: 33
18.11.2011, 00:59     Тайна Страуструпа - std_lib_facilities.h ! #31
Цитата Сообщение от Serg_Smith Посмотреть сообщение
все равно ошибка
возможно после директивы #include было бы неплохо написать using namespace std;
Serg_Smith
1 / 1 / 0
Регистрация: 17.11.2011
Сообщений: 20
18.11.2011, 01:08  [ТС]     Тайна Страуструпа - std_lib_facilities.h ! #32
Цитата Сообщение от Chelioss Посмотреть сообщение
какая?
прошу прощения,это я не стер 3 символа (((
теперь работает ...так много манипуляций что бы было на русском)))
Deviaphan
Делаю внезапно и красиво
Эксперт C++
1286 / 1220 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
18.11.2011, 05:49     Тайна Страуструпа - std_lib_facilities.h ! #33
Цитата Сообщение от Chelioss Посмотреть сообщение
с кодировкой у вас проблемы. Русские буквы вводятся не правильно.
У меня проблем нет, потому что проект UNICODE. А вот с ASCI действительно проблема, специально сейчас проверил.)
Serg_Smith
1 / 1 / 0
Регистрация: 17.11.2011
Сообщений: 20
26.11.2011, 17:04  [ТС]     Тайна Страуструпа - std_lib_facilities.h ! #34
и так новая проблемка в с книгой этого автора(
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <std_lib_facilities.h>
 
int main()
{
vector<string> words;
string temp;
while(cin>>words)
     words.push_back(temp);
cout<<"Number of words: "<<words.size()<<endl;
sort(words.begin(),words.end());
for(int i=0; 1< words.size(); ++i)
    if(i==0 || words[i-l] !=words[i])
        cout<<words[i]<<"\n";
}
Программа должна принимать слова и потом выдавать их в алфавитном порядке ,не принимая дважды одно и тоже слово.
но выдает ошибку при компиляции :
C:\Users\Сергей\Documents\Visual Studio 2010\Projects\vectors\Debug\vectors.exe : fatal error LNK1120: 1 неразрешенных внешних элементов

в чем загвоздка ?(
Deviaphan
Делаю внезапно и красиво
Эксперт C++
1286 / 1220 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
26.11.2011, 17:08     Тайна Страуструпа - std_lib_facilities.h ! #35
C++
1
2
3
4
#include <vector>
#include <string>
#include <algorithm>
using namespace std;
И в условии цикла должно быть i < words.size()
и
words[i-1]
Serg_Smith
1 / 1 / 0
Регистрация: 17.11.2011
Сообщений: 20
26.11.2011, 17:37  [ТС]     Тайна Страуструпа - std_lib_facilities.h ! #36
прошу извинить,с денницей я экспериментировал ибо не мог понять там 1 или l...
но даже добавив все,ошибка никуда не делась (

проект создавался пустой .
Сыроежка
Заблокирован
26.11.2011, 17:42     Тайна Страуструпа - std_lib_facilities.h ! #37
Цитата Сообщение от Serg_Smith Посмотреть сообщение
прошу извинить,с денницей я экспериментировал ибо не мог понять там 1 или l...
но даже добавив все,ошибка никуда не делась (

проект создавался пустой .
У вас была одна ощибка, что вместо строчной буквы i, вы использовали символ 1.
Как может возникать та же самая ошибка, если вы говорите, что вы это исправили?!
Deviaphan
Делаю внезапно и красиво
Эксперт C++
1286 / 1220 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
26.11.2011, 18:11     Тайна Страуструпа - std_lib_facilities.h ! #38
Цитата Сообщение от Сыроежка Посмотреть сообщение
У вас была одна ощибка,
Там в одном месте строчная Л, в другом единица.


Цитата Сообщение от Serg_Smith Посмотреть сообщение
но даже добавив все,ошибка никуда не делась
Хэдэры добавил? Приведи сообщение об ошибке полностью.

А ещё, ты про return 0 забыл.
Сыроежка
Заблокирован
26.11.2011, 18:16     Тайна Страуструпа - std_lib_facilities.h ! #39
Цитата Сообщение от Deviaphan Посмотреть сообщение
А ещё, ты про return 0 забыл.
return 0 совершенно нет никакой необходимости включать в программу. Так что он ничего не забыл, а это вы демонстрируете незнание стандарта.
Deviaphan
Делаю внезапно и красиво
Эксперт C++
1286 / 1220 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
26.11.2011, 18:21     Тайна Страуструпа - std_lib_facilities.h ! #40
Цитата Сообщение от Сыроежка Посмотреть сообщение
а это вы демонстрируете незнание стандарта
Я демонстрирую хороший тон программирования.) Это как обнулять указатель при создании. Не обязательно, но так культурнее.
Сыроежка
Заблокирован
26.11.2011, 18:30     Тайна Страуструпа - std_lib_facilities.h ! #41
Цитата Сообщение от Deviaphan Посмотреть сообщение
Я демонстрирую хороший тон программирования.) Это как обнулять указатель при создании. Не обязательно, но так культурнее.
Я могу согласиться с вашим утверждением, когда программа достаточно большая. Для подобных программ, как приведеный пример, а тем более на форуме, когда чем меньше вводишь текста, тем лучше, это совершенно излишне.
BRcr
4008 / 2297 / 155
Регистрация: 03.02.2011
Сообщений: 5,064
Записей в блоге: 10
26.11.2011, 18:40     Тайна Страуструпа - std_lib_facilities.h ! #42
Цитата Сообщение от Сыроежка Посмотреть сообщение
Для подобных программ, как приведеный пример, а тем более на форуме, когда чем меньше вводишь текста, тем лучше, это совершенно излишне.
Хороший тон программирования излишним быть не может нигде, имхо
Это ж как "Не ковыряйся в носу!", "Не грызи ногти!", "Говори\пиши правильно!" - все это должно прививаться с юных лет.
silent_1991
26.11.2011, 18:42
  #43

Не по теме:

Цитата Сообщение от Сыроежка Посмотреть сообщение
а тем более на форуме, когда чем меньше вводишь текста, тем лучше
Хорошо бы вы сами следовали собственным советам...

Сыроежка
Заблокирован
26.11.2011, 18:48     Тайна Страуструпа - std_lib_facilities.h ! #44
Цитата Сообщение от BRcr Посмотреть сообщение
Хороший тон программирования излишним быть не может нигде, имхо
Это ж как "Не ковыряйся в носу!", "Не грызи ногти!", "Говори\пиши правильно!" - все это должно прививаться с юных лет.
Глупость! Это как раз плохой тон программирования, когда в такой маленькой программы вставуляют return Возьмите книгу Дениса Ритчи "Программирование на С" И посмотрите пример первой программы на С.

И этот пример, который взят из книги Страуструпа, вероятно, также не имеет return, поэтому автор вопроса повторил его код. По крайней мере во тмногих примерах из этой книги returnотсутсвует.

Как говорил один киногерой, я люблю умных людей, но не люблю умников.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.11.2011, 18:55     Тайна Страуструпа - std_lib_facilities.h !
Еще ссылки по теме:
Калькулятор Страуструпа С++ C++
C++ Калькулятор Страуструпа (C++)
Калькулятор в книге Страуструпа C++
C++ Задача из книги Страуструпа (4.6.3)
C++ Достаточно ли книги Страуструпа?

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

Или воспользуйтесь поиском по форуму:
BRcr
4008 / 2297 / 155
Регистрация: 03.02.2011
Сообщений: 5,064
Записей в блоге: 10
26.11.2011, 18:55     Тайна Страуструпа - std_lib_facilities.h ! #45
Цитата Сообщение от Serg_Smith Посмотреть сообщение
while(cin>>words)
words.push_back(temp);
Может, входному потоку все-таки скормить строчку temp?

Добавлено через 5 минут

Не по теме:

Цитата Сообщение от Сыроежка Посмотреть сообщение
Как говорил один киногерой, я люблю умных людей, но не люблю умников.
Как говорил один поэт, я не червонец, чтобы всем нравиться.

Yandex
Объявления
26.11.2011, 18:55     Тайна Страуструпа - std_lib_facilities.h !
Закрытая тема Создать тему
Опции темы

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