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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 19, средняя оценка - 5.00
Сергей813
0 / 0 / 0
Регистрация: 01.09.2011
Сообщений: 4
#1

Hello, World! - C++

07.09.2011, 18:24. Просмотров 2767. Ответов 31
Метки нет (Все метки)

Добрый день.
Купил книгу Б.Страуструпа - Принципы и практика использования С++,
Напечатал первый код , при компиляции выскочили ошибки.

C++
1
2
3
4
5
6
#include "std_lib_facilities.h"
int main()
{
     cout << "Hello, World!\n";
     return 0;
}
Почему код из книги создателя языка не работает???\может я что то не правильно делаю? Компилятор Dev-C++.

 Комментарий модератора 
Используйте теги форматирования кода!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.09.2011, 18:24
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Hello, World! (C++):

Поменять слова местами то есть Hello World > World Hello C++ - C++
Ребят всем привет помогите решить задачку: Имеется предварительно созданный текстовый файл, содержащий строку &quot;Hello World&quot;. Поменять слова...

Hello, World! - C++
Добрый день. Недавно начал изучать си++. Работаю в Microsoft Visual Studio 2008. Написал такую программу: // Test.cpp : Defines the...

Hello world - C++
почему в codeblocks программа #include &lt;iostream&gt; using namespace std; int main() { cout &lt;&lt; &quot;Hello world!&quot; &lt;&lt; endl; ...

Hello World! - C++
Доброго времени товарищи. Не могу никак найти тему. Где-то на этом форуме есть целая тема в которой предствалена огромная куча вариантов...

Hello world - C++
пытаюсь запустить прогу в Код-Блокс. Что не так (см. приложение)?

Hello world C: - C++
Доброго времени суток! Собственно, начал изучать С++, пользуюсь VS2012 Почему этот код работает #include &quot;stdafx.h&quot; ...

31
Максон красава
0 / 0 / 0
Регистрация: 05.12.2012
Сообщений: 6
31.01.2013, 00:41 #16
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
#include <conio.h>
#include <string.h>
using namespace std;
void main()
{
   char a[10];
   cout<<"enter your name   ";
   gets(a);
    printf("\nzdravstvui, %s", a);
    system("pause");
}
0
Ruzhin
15 / 15 / 3
Регистрация: 18.01.2013
Сообщений: 17
31.01.2013, 01:01 #17
C++
1
2
3
4
5
6
7
8
#include <iostream> //вместо "std_lib_facilities.h"
void main() //вместо int main()
{
     cout << "Hello, World!\n";
     //вообще нет смысла писать return 0;
}
 
//теперь все заработает
0
Максон красава
0 / 0 / 0
Регистрация: 05.12.2012
Сообщений: 6
31.01.2013, 01:06 #18
начинать лучше на борланде, думается мне.
0
MrGluck
Модератор
Эксперт CЭксперт С++
7278 / 4439 / 650
Регистрация: 29.11.2010
Сообщений: 12,017
31.01.2013, 01:19 #19
Цитата Сообщение от Ruzhin Посмотреть сообщение
#include <iostream> //вместо "std_lib_facilities.h"
void main() //вместо int main()
{
cout << "Hello, World!\n";
//вообще нет смысла писать return 0;
}
//теперь все заработает
плохие советы раздаете, товарищ. Как раз void main приведет к ошибке на mingw (коий встроен в dev по-умолчанию) т.к. по стандарту main должен быть объявлен как int.

Максон красава, нехорошо мешать ввод/вывод в различных стилях.
На С++ это выглядело бы так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream> // ввод/вывод
#include <string>   // std::string
#include <clocale>  // работа с локалью
#include <cstdlib>  // функция system определена тут
 
int main()
{
    setlocale(LC_ALL, ""); // устанавливаем локаль
    std::string name; // объявляем переменную типа std::string
    std::cout << "Введите ваше имя: "; // выводим на экран запрос
    std::cin >> name; // считываем имя в переменную name
    std::cout << "Здравствуй, " << name << std::endl; // выводим на экран приветствие
    system("pause"); // пауза. Нужна если ваша среда разработки не удерживает консоль
    return 0; // завершилось без проблем. Можно не писать и компилятор добавит эту строчку по-умолчанию
}
0
Croessmah
Эксперт CЭксперт С++
13416 / 7569 / 855
Регистрация: 27.09.2012
Сообщений: 18,632
Записей в блоге: 3
Завершенные тесты: 1
31.01.2013, 01:23 #20

Не по теме:

Цитата Сообщение от Ruzhin Посмотреть сообщение
//теперь все заработает
без использования std?



Добавлено через 38 секунд

Не по теме:

Цитата Сообщение от MrGluck Посмотреть сообщение
На С++ это выглядело бы так:
особенно си'шный
Цитата Сообщение от MrGluck Посмотреть сообщение
C++
1
setlocale(LC_ALL, ""); // устанавливаем локаль

0
MrGluck
Модератор
Эксперт CЭксперт С++
7278 / 4439 / 650
Регистрация: 29.11.2010
Сообщений: 12,017
31.01.2013, 01:35 #21
Цитата Сообщение от Croessmah Посмотреть сообщение
особенно си'шный

Не по теме:

ужас то какой, printf тоже как std:rintf писать?)

0
Croessmah
Эксперт CЭксперт С++
13416 / 7569 / 855
Регистрация: 27.09.2012
Сообщений: 18,632
Записей в блоге: 3
Завершенные тесты: 1
31.01.2013, 01:39 #22
Цитата Сообщение от MrGluck Посмотреть сообщение
ужас то какой, printf тоже как std:rintf писать?)
Вообще-то setlocale - сишная функция. Да и system("pause") не переносимая конструкция
А std относилось к коду выше (пост #17)
1
MrGluck
Модератор
Эксперт CЭксперт С++
7278 / 4439 / 650
Регистрация: 29.11.2010
Сообщений: 12,017
31.01.2013, 01:45 #23
Цитата Сообщение от Croessmah Посмотреть сообщение
Вообще-то setlocale - сишная функция.
ну так С++ программисты её используют абсолютно нормально, что не скажешь о printf, gets и char массиве. Не понимаю суть претензий. Чем эта функция устарела/небезопасна/имеет более эффективную альтернативу и не достойна быть в "тру С++ программе" ?
0
UnsKneD
алкокодер
154 / 150 / 11
Регистрация: 27.12.2012
Сообщений: 548
31.01.2013, 01:51 #24
В Dev можно
C++
1
2
3
int main( void ){
...
}
0
Croessmah
Эксперт CЭксперт С++
13416 / 7569 / 855
Регистрация: 27.09.2012
Сообщений: 18,632
Записей в блоге: 3
Завершенные тесты: 1
31.01.2013, 01:52 #25
Цитата Сообщение от MrGluck Посмотреть сообщение
Не понимаю суть претензий. Чем эта функция устарела/небезопасна/имеет более эффективную альтернативу и не достойна быть в "тру С++ программе" ?
аналогичные вопросы относительно printf'a.
Хотите ввод/вывод в стиле Си - пожалуйста, в стиле Си++, да не вопрос.
Использовать можно и то и то, и не важно. Но только не в одной программе, естественно - ужасно выглядит )

P.S. А раз решили написать все с сугубо "плюсовыми" конструкциями, то тогда уж не используйте сишные
0
MrGluck
Модератор
Эксперт CЭксперт С++
7278 / 4439 / 650
Регистрация: 29.11.2010
Сообщений: 12,017
31.01.2013, 02:01 #26
Croessmah, все-таки ответь на вопрос
Цитата Сообщение от MrGluck Посмотреть сообщение
Чем эта функция устарела/небезопасна/имеет более эффективную альтернативу и не достойна быть в "тру С++ программе" ?
А то её что то все сплошь и рядом используют.

Цитата Сообщение от Croessmah Посмотреть сообщение
Да и system("pause") не переносимая конструкция
Да, ругнется терминал на никсе, так там и нужды в вызове pause нет, я в комменте написал про удержание консоли лишь в случае необходимости, а она лишь на форточках возникает.

Добавлено через 1 минуту
Цитата Сообщение от Croessmah Посмотреть сообщение
P.S. А раз решили написать все с сугубо "плюсовыми" конструкциями, то тогда уж не используйте сишные
Я исправил ввод/вывод, ну и заодно массив поменял на безопасный std::string, не было у меня фразы "с использованием лишь наработок, введенных в С++ и отсутствующих в С"
0
Croessmah
Эксперт CЭксперт С++
13416 / 7569 / 855
Регистрация: 27.09.2012
Сообщений: 18,632
Записей в блоге: 3
Завершенные тесты: 1
31.01.2013, 02:12 #27
Цитата Сообщение от MrGluck Посмотреть сообщение
Croessmah, все-таки ответь на вопрос
Отвечу Вашими же цитатами:
Цитата Сообщение от MrGluck Посмотреть сообщение
Максон красава, нехорошо мешать ввод/вывод в различных стилях.
На С++ это выглядело бы так:
а сами мешаете Си'шные функции с Си++
Цитата Сообщение от MrGluck Посмотреть сообщение
А то её что то все сплошь и рядом используют.
не все )
Цитата Сообщение от MrGluck Посмотреть сообщение
Чем эта функция устарела/небезопасна/имеет более эффективную альтернативу и не достойна быть в "тру С++ программе" ?
А где я писал, что данная функция устарела/небезопасна/имеет более эффективную альтернативу и не достойна быть в "тру С++ программе"?
и к printf'у это тоже относится

да, и прекращаем оффтопить, ибо тема не об этом. Оба
0
MrGluck
31.01.2013, 02:42
  #28

Не по теме:

Итог:
За смешивание ввода/вывода в стиле С и С++ в одной программе в кругах серьезных программистов дают вертушкой в щи

Потри лучше лишнее, ни к чему тут полемика наша.

0
vbloodv
22 / 22 / 0
Регистрация: 15.12.2012
Сообщений: 314
31.01.2013, 03:07 #29
Цитата Сообщение от Croessmah Посмотреть сообщение
Вообще-то setlocale - сишная функция. Да и system("pause") не переносимая конструкция
А std относилось к коду выше (пост #17)
Вместо setlocale - есть другая функция? Или надо использовать wcout + unicode ?
C++
1
А что касается system("pause");
Что можно предложить?
0
MrGluck
Модератор
Эксперт CЭксперт С++
7278 / 4439 / 650
Регистрация: 29.11.2010
Сообщений: 12,017
31.01.2013, 03:13 #30
vbloodv, ничего предлагать не надо, на Linux такой команды нет, но и необходимости в её использовании тоже нет.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.01.2013, 03:13
Привет! Вот еще темы с ответами:

HELLO WORLD - C++
Vsem Privet:) Ranshe ya izuchil yizik PASKAL;:umnik: A tiper C++ :umnik: Na PASKALE bil nekotoriy funksiy rabota so storokami; ...

Hello world - C++
Здравствуйте при написании hello world возникает такая ошибка: error C2146: syntax error : missing ';' before identifier '_getch' ...

hello world 10 раз - C++
нужен вывести hello world 10 раз через for и while.как это сделать я не знаю. printf 10 раз не подходит

Hello World не работает! - C++
Вот что мне сгенерил Wascana Eclipse (Helios release): #include &lt;iostream&gt; using namespace std; int main() { cout &lt;&lt; &quot;Hello...


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

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

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