0 / 0 / 0
Регистрация: 05.10.2015
Сообщений: 30
1

Как написать простейший пример "Hello World" на C++ в Visual Studio 2008?

05.10.2015, 22:57. Показов 16714. Ответов 33
Метки нет (Все метки)

Всем привет.
Подскажите пожалуйста, как написать простейший Hello World на C++ в Visual Studio 2008?
Я создаю проект кансольного приложения win32, пишу в файле main.cpp следующий код:
C++
1
2
3
4
5
6
#include"stdafx.h"
#include<iostream.h>
void main() {
cout<<"Hello World!"<<;
return0;
}
Извиняюсь, может немного не так написал. Просто я в c++ пока чайник, до сели работал лишь с javascript и php.
Ну примерно так.
Но он не хочет компилироваться. Пишет, что файла iostream.h нету.
Подскажите кто-нибудь, как можно грамотно написать простой Hello World?
А от него я уже оттолкнусь.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.10.2015, 22:57
Ответы с готовыми решениями:

Как в MS Visual Studio создать простейший консольный Hello World?
Здравствуйте, я новичок, хочу освоить программирование в C++, скачал для этого учебник Страуструпа...

Visual Studio не читает операторы, что начинаются на "glu" ("gluBuild2DMipmaps", "gluPerspective")
Данный код должен выводить на экран кубик который должен вращаться, но возникла проблема. Для...

Как написать программу в visual studio 2008
Я понятия не имею , как писать прогрумму . Мне просто дали карточку с заданием и там сказанно &quot;...

Как и на чем написать и скомпилировать программу, чтоб загружалась через bootmgr и выводить "hello world"?
Ну что-то типа совсем простой ОС, если это можно так назвать.

33
495 / 377 / 136
Регистрация: 27.01.2015
Сообщений: 1,588
05.10.2015, 22:59 2
C++
1
2
3
4
5
6
#include<iostream>
int main() 
{
  std::cout<<"Hello World!";
  return 0;
}
0
285 / 172 / 86
Регистрация: 19.04.2014
Сообщений: 1,095
05.10.2015, 23:00 3
_Valera_, только код подправьте
0
0 / 0 / 0
Регистрация: 05.10.2015
Сообщений: 30
05.10.2015, 23:07  [ТС] 4
Вот, что он выдал мне при компиляции:
1>------ Построение начато: проект: asffix, Конфигурация: Debug Win32 ------
1>Компиляция...
1>asffix.cpp
1>d:\asffix\asffix\asffix.cpp(1) : warning C4627: #include <iostream>: пропущен при поиске использования предкомпилированного заголовка
1> Добавление директивы в "stdafx.h" или перестройка предкомпилированного заголовка
1>Компиляция манифеста в ресурсы...
1>Проект : error PRJ0003 : Ошибка при создании "rc.exe".
1>Журнал построения был сохранен в "file://d:\asffix\asffix\Debug\BuildLog.htm"
1>asffix - ошибок 1, предупреждений 1
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
0
495 / 377 / 136
Регистрация: 27.01.2015
Сообщений: 1,588
05.10.2015, 23:08 5
Цитата Сообщение от asffix Посмотреть сообщение
Вот, что он выдал мне при компиляции:
1>------ Построение начато: проект: asffix, Конфигурация: Debug Win32 ------
1>Компиляция...
1>asffix.cpp
1>d:\asffix\asffix\asffix.cpp(1) : warning C4627: #include <iostream>: пропущен при поиске использования предкомпилированного заголовка
1> Добавление директивы в "stdafx.h" или перестройка предкомпилированного заголовка
1>Компиляция манифеста в ресурсы...
1>Проект : error PRJ0003 : Ошибка при создании "rc.exe".
1>Журнал построения был сохранен в "file://d:\asffix\asffix\Debug\BuildLog.htm"
1>asffix - ошибок 1, предупреждений 1
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
создай консольное приложение.
0
0 / 0 / 0
Регистрация: 05.10.2015
Сообщений: 30
05.10.2015, 23:34  [ТС] 6
Короч я пока решил учиться на dev c++.
Там у меня уже получилось создать Hello World, как вы написали.
Ну и сам он также создаёт.
А как сделать, чтобы этот мой Hello World постоянно висел на экране?
Просто я запускаю приложение, а оно появляется и исчезает.
0
2 / 2 / 1
Регистрация: 22.10.2013
Сообщений: 10
05.10.2015, 23:44 7
asffix, Будет висеть на экране, пока не нажмешь любую кнопку
C++
1
2
3
4
5
6
7
#include<iostream>
int main() 
{
  std::cout<<"Hello World!";
  getch();
  return 0;
}
0
495 / 377 / 136
Регистрация: 27.01.2015
Сообщений: 1,588
06.10.2015, 00:37 8
Цитата Сообщение от asffix Посмотреть сообщение
Просто я запускаю приложение, а оно появляется и исчезает.
C++
1
2
3
4
5
6
7
#include<iostream>
int main() 
{
  std::cout<<"Hello World!";
  system("PAUSE");
  return 0;
}
0
5 / 7 / 1
Регистрация: 21.11.2012
Сообщений: 119
06.10.2015, 02:47 9
Здравствуйте. У меня вопрос. Попалась книга Б. Страуструп Программирование: принципы и практика использования С++
Так вот в ней приводится такой код для первой программы.

C++
1
2
3
4
5
6
#include "std_lib_facilities.h"
int main()
{
    cout<<"Hello, Word!\n";
    return 0;
}
Файла std_lib_facilities.h у меня видимо нет.

В книге читаю: "Важность файла для данной программы заключается в том, что с его помощью мы получаем доступ к стандартным средствам ввода-вывода языка С++"
Я открыл приложение "В"...
В приложении "В" этой книге "Начало работы со средой разработки Visual Studio" мы читаем: "... Для вашей первой программы мы настоятельно рекомендуем использовать заголовочный файл std_lib_facilities.h, который можно загрузить в веб-страницы... Скопируйте его в каталог, выбранный в разделе С.3.1 на шаге 6 (Примечание. Сохраните этот файл как текстовый, а не как HTML-ФАЙЛ). Для того, чтобы использовать этот файл, вставьте в вашу программу строку

#include "../../std_lib_facilities.h"

Символы "../../" сообщат компилятору, что вы разместили этот файл в каталоге C:\Documents and Settings\Your name\My Documents\Visual Studio 2005 Project, где его могут найти другие проекты, а не просто рядом с вашим исходным файлом, так как в этом случае вам придется повторно копировать его в каталог каждого нового проекта.
"

Вы понимаете, что этот файл настоятельно рекомендуют использовать, и скачать его и скопировать в каталог.
Может все дело в том что Visual Studio 2005 года, и может эти настоятельные рекомендации уже не столь актуальны?
Подскажите, пожалуйста, кто знает. Я понимаю, что все это конечно скорее всего не так важно, и есть другие заголовочные файлы (все таки на дворе 2015 год ), дающие доступ к стандартным средствам ввода вывода, но не оставьте мой вопрос без комментариев.
Спасибо.
0
31 / 31 / 28
Регистрация: 19.09.2013
Сообщений: 370
06.10.2015, 07:37 10
@bassman@, вот ссылка на содержимое этого хэдера. Но в начале можно и простым iostream обойтись (я обходился):
C++
1
2
3
4
5
6
7
8
#include <iostream>
using namespace std;
 
int main()
{
    cout<<"Hello, Word!\n";
    return 0;
}
1
5 / 7 / 1
Регистрация: 21.11.2012
Сообщений: 119
06.10.2015, 12:44 11
Eugene13, Спасибо за отзыв. Насколько я понял из содержимого файла std_lib_facilities.h, в него входит список от iostream до stdexpert. И раз подключив std_lib_facilities.h, остальные можно уже не подключать? It provides the most common standard headers (in the global namespace) and minimal exception/error support.

А все таки, почему рекомендация в книге столь настоятельна. Связано ли это с чем то особенно значимым или же это издержки версии Visual Studio и времени написания книги? Спасибо.
0
31 / 31 / 28
Регистрация: 19.09.2013
Сообщений: 370
07.10.2015, 09:32 12
@bassman@, да, после него можно не подключать. Про пользу от использования хэдера не знаю, но автору книги виднее, ведь он создатель C++.
0
Эксперт CЭксперт С++
5087 / 2272 / 332
Регистрация: 20.02.2013
Сообщений: 5,598
Записей в блоге: 19
07.10.2015, 09:40 13
Цитата Сообщение от asffix Посмотреть сообщение
Короч я пока решил учиться на dev c++.
asffix, лучше уж тогда Code::Blocks.

Цитата Сообщение от asffix Посмотреть сообщение
А как сделать, чтобы этот мой Hello World постоянно висел на экране?
Просто я запускаю приложение, а оно появляется и исчезает.
А прикреплённые темы читать, вот как.
1
5 / 7 / 1
Регистрация: 21.11.2012
Сообщений: 119
07.10.2015, 13:46 14
Сделал немного по другому как в книге описывается. Зашел на сайт. Там нашел файл (именно для 10-й версии). В блокноте сам создал файл std_lib_facilities.h
Затем его его скопировал в C:\Program Files (x86)\Visual Studio\VC\include и в C:\Program Files (x86)\Visual Studio\VC\crt\src.
Теперь код выглядит так

C++
1
2
3
4
5
6
7
8
#include "std_lib_facilities.h"
 
int main() 
{
    cout << "Hello, World!\n";
    keep_window_open(); 
    return 0;
}
После вывода теста программа пишет Please enter a character to exit. Ввожу любой символ и нажимаю enter.
Затем уже по-русски - Для продолжение нажмите любую клавишу... Ну и собственно выхожу из программы.
0
599 / 237 / 69
Регистрация: 08.08.2015
Сообщений: 1,637
07.10.2015, 14:14 15
@bassman@, во как оказываются у нас библиотеки пишутся путем копирования хедера, ладно я утрирую.
Используйте йострим и не мучайтесь
3
Эксперт CЭксперт С++
5087 / 2272 / 332
Регистрация: 20.02.2013
Сообщений: 5,598
Записей в блоге: 19
07.10.2015, 16:14 16
Цитата Сообщение от Eugene13 Посмотреть сообщение
он создатель C++
Так-то оно так, только как педагог он, мягко говоря, не очень.

Добавлено через 2 минуты
Цитата Сообщение от @bassman@ Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
#include "std_lib_facilities.h"
 
int main() 
{
    cout << "Hello, World!\n";
    keep_window_open(); 
    return 0;
}
Ну вот нафига это? Хоть убей, не понимаю зачем учить новичков такому. Вот стандартный годный HelloWorld:
C++
1
2
3
4
5
6
7
8
#include <iostream>    // для объектов std::cout и std::cin
 
int main() 
{
    std::cout << "Hello World!\n";
    std::cin.get();
    return 0;
}
0
5 / 7 / 1
Регистрация: 21.11.2012
Сообщений: 119
07.10.2015, 20:22 17
Цитата Сообщение от gru74ik Посмотреть сообщение
C++
1
2
3
4
5
6
7
#include <iostream> * *// для объектов std::cout и std::cin
int main() 
{
    std::cout << "Hello World!\n";
    std::cin.get();
    return 0;
}
Объясните пожалуйста 5 и 6 строку. Такая простая программа, а вариантов ее написание много. std я видел не пишется, хотя тут без него не работает. А cin.get() что такое? То же самое что и _getch();
Теперь вообще не пойму как делать вывод текста просто cout или std::cout С чем это связано?
Если к примеру подключены
C++
1
2
3
#include "stdafx.h"
#include <iostream>
#include <conio.h>
то std уже не надо ставить перед cout...
0
599 / 237 / 69
Регистрация: 08.08.2015
Сообщений: 1,637
07.10.2015, 20:31 18
@bassman@, cin.get() и _getch() не забивай пока этим голову, там можно было и написать system ("pause"); , std это подсказка компилятору что этот метод надо искать в stl. можно и без std только после #include <iostream> надо добавить using namespace std;

Добавлено через 2 минуты
а шестая строка ты только говоришь что должна вернуть функция main в случае удачного завершения, если не предусматривается возврат, что крайне редко то return можно не писать,

Что бы не плодить такие вопросы тебе сюда.

Добавлено через 2 минуты
А #include "stdafx.h" и #include <conio.h> это вообще лишнии библиотеки в данном случае
1
5 / 7 / 1
Регистрация: 21.11.2012
Сообщений: 119
07.10.2015, 21:13 19
Mesteriis,
Стало понятней. Спасибо.
1. Директива #include "stdafx.h" создается и работает только в том случае, когда создаю не пустой проект. Есть ли возможность в двух словах объяснить, что это такое?
2. Что делать с той книгой которую я начал читать? Или лучше видео посмотреть? Также есть книга Хортона (Visual C++ 2010 полный курс) - тоже неплохая. Есть даже лекции Прохоренка... )
0
599 / 237 / 69
Регистрация: 08.08.2015
Сообщений: 1,637
07.10.2015, 21:27 20
@bassman@, Вот честно не силен в литературе... даже не знаю что сказать, просто у меня не пошли книги вообще... Если не хватает знаний лезу или сюда или по специализированным сайтам.

stdafx.h а этот метод очень хорошо описан тут, почитай там все понятно на 2 листа)))

что касается твоей книге если там используется conio.h то в топку ее, так как это устаревшая библиотека, использовалась в ms-dos? f на смену ей пришел iostream, если конечно не путаю так как програмлю исключительно под мак, тут своего добра хватает)))

Добавлено через 6 минут
@bassman@, И кстати если хочешь писать действительно стоящие вещи слезай с этой Visual Studio 2008 гадости! Ну это ИМХО
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.10.2015, 21:27
Помогаю со студенческими работами здесь

Не работает "Hello world" в CodeGear™ RAD Studio 2009
Сегодня начал изучать С++. На одном сайте нашёл код для &quot;Hello world!&quot; #include &lt;iostream&gt;...

Как запретить ввод слова "con" в консоли Visual Studio 2012
Всем добра! Написал программу для работы с символами, но есть одна проблема, что при вводе слова...

Как в MS Visual Studio отключить сообщение "std::out_of_range at memory location"?
это сообщение появляется, в моем случае, когда считываются символы не входящие в нужный диапазон по...

Написать программу. Задания нужно выполнять на языке Visual C++ в среде Microsoft Visual Studio 2008
Можете написать программу? Задание по номером 3.24 (2 рисунок).


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru