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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 411, средняя оценка - 4.81
Nikellanjilo
2 / 2 / 0
Регистрация: 23.04.2011
Сообщений: 61
#1

#include "stdafx.h" - C++

15.09.2011, 00:07. Просмотров 61106. Ответов 12
Метки нет (Все метки)

В моем самоучителе по С++ автор пишет, что можно
C++
1
2
3
4
#include <iostream>
int main()
{
    int integer1, integer2, sum;
, а работает только так
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 "stdafx.h"
#include <iostream>
#include <stdlib.h>
cout << "hello world";
cout<<"input number";
cin>> integer1;
cout<<"input second number";
cin>>integer2;
sum= integer1+integer2;
:cout<<"Summa ="<<sum<<std;
int main()
{
    int integer1, integer2, sum;
    std::cout << "hello world" << std::endl;
    std::cout<<"input number"<< std::endl;
    std::cin>> integer1;
    std::cout<<"input second number"<<std::endl;
    std::cin>>integer2;
    sum= integer1+integer2;
    std::cout<<"Summa ="<<sum<<std::endl;
    system("pause");
    return 0;
}
Добавлено через 37 секунд
почему? может кто объяснить? самоучитель старый?или что?
1
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.09.2011, 00:07
Здравствуйте! Я подобрал для вас темы с ответами на вопрос #include "stdafx.h" (C++):

Что можно сказать об этом #include "stdafx.h" - C++
За что оно отвечает и где его можно использовать?! Много раз встречал но так и не понял зачем оно! #include &quot;stdafx.h&quot;

экспрес ругается на #include "stdafx.h". Что делать? - C++
запуская программу в ВС Экспресс 2008. выдает вот такую ошибку: что делать,расскажите пожалуйста) Добавлено через 4 минуты ...

#include "StdAfx.h" и проблема цикал в компиляторе - C++
#include &quot;StdAfx.h&quot; #include &lt;iostream&gt; #include &lt;fstream&gt; using namespace std; int main() {

Ошибка с #include"stdafx.h" - C++
На что ругается? fatal error: stdafx.h: No such file or directory| #include&quot;stdafx.h&quot; #include&lt;stdio.h&gt; #include&lt;string.h&gt; ...

#include "stdafx.h" не видит - C++
мне нужно написать параллельную программу с очень большимы вычисления и я использую #include &quot;stdafx.h&quot; что бы было быстрее но вот что...

Ошибка при "сборке" Cannot open include file: 'stdafx.h': No such file or directory - C++
Я полный ноль в C++=( Вот код:#include &quot;stdafx.h&quot; #include &lt;stdio.h&gt; #include &lt;windows.h&gt; #define MAXINJECTSIZE 4096 ...

12
silent_1991
Эксперт С++
4984 / 3041 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
15.09.2011, 00:24 #2
Так, разберитесь-ка, какой код всё-таки работает, а какой нет. Потому что пока это больше похоже на какую-то кашу, чем на программный код.

Добавлено через 3 минуты
Я так понял, вы имеете ввиду следующее: если код из книги дополнить строкой #include "stdafx.h" в самом начале - то код будет компилироваться.
Если так, то проблема в том, что вы создали в студии не пустой проект. Потому что данный заголовочник характерен именно для студии. При создании проекта поставьте галочку "Пустой проект", и компилятор перестанет требовать stdafx.h.
0
Nikellanjilo
2 / 2 / 0
Регистрация: 23.04.2011
Сообщений: 61
15.09.2011, 00:30  [ТС] #3
да,я извиняюсь...сделал грую ошибку и вставил Вам не то...получилась каша...сейчас покажу что работает,а что нет

Добавлено через 1 минуту
Это НЕ работает
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
int main()
{
        int integer1, integer2, sum;
cout << "hello world";
cout<<"input number";
cin>> integer1;
cout<<"input second number";
cin>>integer2;
sum= integer1+integer2;
:cout<<"Summa ="<<sum<<std;
}
Добавлено через 1 минуту
Это РАБОТАЕТ
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include "stdafx.h"
#include <iostream>
#include <stdlib.h>
{
        int integer1, integer2, sum;
    std::cout << "hello world" << std::endl;
        std::cout<<"input number"<< std::endl;
        std::cin>> integer1;
        std::cout<<"input second number"<<std::endl;
        std::cin>>integer2;
        sum= integer1+integer2;
        std::cout<<"Summa ="<<sum<<std::endl;
    system("pause");
    return 0;
}
Добавлено через 22 секунды
вопрос - почему так?
0
Jupiter
Каратель
Эксперт С++
6556 / 3977 / 227
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
15.09.2011, 00:33 #4
Цитата Сообщение от Nikellanjilo Посмотреть сообщение
получилась каша.
каша была, каша и осталась

Цитата Сообщение от Nikellanjilo Посмотреть сообщение
вопрос - почему так?
гуглите предкомпилированные заголовки
0
easybudda
Модератор
Эксперт CЭксперт С++
9662 / 5611 / 952
Регистрация: 25.07.2009
Сообщений: 10,774
15.09.2011, 00:34 #5
Цитата Сообщение от Nikellanjilo Посмотреть сообщение
вопрос - почему так?
В смысле - почему без "stdafx.h" не компилируется? Создавайте "пустой проект", а не "консольное приложение", или как там его...
0
jonson
233 / 206 / 61
Регистрация: 18.03.2010
Сообщений: 750
15.09.2011, 00:35 #6
Цитата Сообщение от Nikellanjilo Посмотреть сообщение
Это НЕ работает
после
#include <iostream>
добавь
using namespace std;

и будет тебе счастье
1
grizlik78
Эксперт С++
1956 / 1449 / 115
Регистрация: 29.05.2011
Сообщений: 3,007
15.09.2011, 00:45 #7
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Nikellanjilo Посмотреть сообщение
вопрос - почему так?
Вообще-то желательно не просто говорить, что что-то не работает, а ещё и показывать как не работает. В данном случае привести текст ошибки, выдаваемой компилятором (он ведь позволяет его скопировать?)

В принципе, на вопрос что делать с "stdafx.h" уже ответили.
"stdafx.h" это файл, который используется в проектах для компилятора от Microsoft. Его назначение — уменьшить время компиляции больших проектов. В этом файле перечисляются наиболее часто используемые заголовочные файлы, которые не меняются (или меняются крайне редко) и имеют значительный объём. Потом эти заголовки компилируются один раз, а при каждой последующей сборке просто загружается состояние компилятора в этой точке и компиляция продолжается с этого места. В настройках проекта есть место, где в любой момент можно включить или отключить использование предкомпилированных заголовков (precompiled headers). Но лучше их отключать уже при создании проекта, если нет уверенности, что они нужны.
8
Nikellanjilo
2 / 2 / 0
Регистрация: 23.04.2011
Сообщений: 61
15.09.2011, 00:51  [ТС] #8
всем большое спасибо...особенно джонсону)
1
MrGluck
Модератор
Эксперт CЭксперт С++
7278 / 4439 / 650
Регистрация: 29.11.2010
Сообщений: 12,017
15.09.2011, 00:57 #9
Цитата Сообщение от Nikellanjilo Посмотреть сообщение
да,я извиняюсь...сделал грую ошибку и вставил Вам не то...получилась каша...сейчас покажу что работает,а что нет

Добавлено через 1 минуту
Это НЕ работает
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
int main()
{
        int integer1, integer2, sum;
cout << "hello world";
cout<<"input number";
cin>> integer1;
cout<<"input second number";
cin>>integer2;
sum= integer1+integer2;
:cout<<"Summa ="<<sum<<std;
}
вопрос - почему так?
все cin и cout замените на std::cin и std::cout, либо после объявления библиотек допишите using namespace std;
и последнюю строчку замените на

C++
1
cout<<"Summa ="<<sum;
И программа будет работать. Но сумму вы не увидите т.к. в конце еще нужно поставить паузу
C++
1
getch();
или
C++
1
system("PAUSE");
Первая требует библиотеку <conio.h>
1
TheAthlete
153 / 153 / 13
Регистрация: 31.08.2010
Сообщений: 535
15.09.2011, 09:21 #10
Цитата Сообщение от MrGluck Посмотреть сообщение
И программа будет работать. Но сумму вы не увидите т.к. в конце еще нужно поставить паузу
Код C++1 getch();
А еще лучше использовать
C++
1
std::cin.get();
тогда никакого <conio.h> не потребуется
1
smthelse
1 / 1 / 0
Регистрация: 07.01.2012
Сообщений: 54
13.01.2012, 15:15 #11
а если пишет
[C++ Error] Unit1.cpp(3): E2209 Unable to open include file 'stdafx.h'
хотя заголовок стоит первым?
0
silent_1991
Эксперт С++
4984 / 3041 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
13.01.2012, 15:20 #12
smthelse, значит такого файла нет, естественно. Судя по имени файла Unit1.cpp можно предположить, что вы пишете в борланде. Файл же stdafx.h - специфичный файл среды Visual Studio.
1
BORSHEVIK
0 / 0 / 0
Регистрация: 20.08.2012
Сообщений: 29
28.01.2013, 17:13 #13
Цитата Сообщение от Nikellanjilo Посмотреть сообщение
да,я извиняюсь...сделал грую ошибку и вставил Вам не то...получилась каша...сейчас покажу что работает,а что нет

Добавлено через 1 минуту
Это НЕ работает
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
int main()
{
        int integer1, integer2, sum;
cout << "hello world";
cout<<"input number";
cin>> integer1;
cout<<"input second number";
cin>>integer2;
sum= integer1+integer2;
:cout<<"Summa ="<<sum<<std;
}
Добавлено через 1 минуту
Это РАБОТАЕТ
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include "stdafx.h"
#include <iostream>
#include <stdlib.h>
{
        int integer1, integer2, sum;
    std::cout << "hello world" << std::endl;
        std::cout<<"input number"<< std::endl;
        std::cin>> integer1;
        std::cout<<"input second number"<<std::endl;
        std::cin>>integer2;
        sum= integer1+integer2;
        std::cout<<"Summa ="<<sum<<std::endl;
    system("pause");
    return 0;
}
Добавлено через 22 секунды
вопрос - почему так?

Да всё потому,что надо сразу после добмалении библиотеки #include <iostream> писать using namespace std;

C++
1
2
#include <iostream>
using namespace std;
и тогда не надо писать в коде перед каждым объектом std::

и уберите двоеточие в самом конце у вас лишнее.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.01.2013, 17:13
Привет! Вот еще темы с ответами:

#include "stdafx.h" ? - C++
В vc++ Когда создаешь консольное приложение, нужно вначале написать заголовок &quot;#include &quot;stdafx.h&quot;. Для чего он нужен?)

#include "Sales_item.h" - ошибка "включаемый файл включает самого себя" - C++
Пишу в файле Sales_item.h следующее: #include &quot;Sales_item.h&quot; #include &lt;iostream&gt; void main() { Sales_item book; //тут...

Вопрос "хорошего тона", "стиля" в программировании - правильное использование #include - C++
Привет. Вступление. Имею небольшой опыт в программировании. Сейчас мне дали разобрать один проект, как пример работы HGE и Box2D. ...

Не открывается библиотека 'stdafx.h' и "char" не работает с параметром "char*" - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;stdio.h&gt; #include &lt;cstring&gt; using namespace std; int one(char fam) //...


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

Или воспользуйтесь поиском по форуму:
13
Yandex
Объявления
28.01.2013, 17:13
Ответ Создать тему
Опции темы

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