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

Первая программа С++ - C++

Восстановить пароль Регистрация
 
cristianoman
0 / 0 / 0
Регистрация: 18.03.2013
Сообщений: 21
24.10.2013, 19:56     Первая программа С++ #1
Вобщем, начал изучать С++, переписываю пример из книги, и в каждой строке ошибку находит (( ну #include <iostream> там небыло, я сам дописал, может вместо iostream что то должно быть?




C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
 
 int main ()
 {
 cout << "Enter your name and age\n";
 string first_name;
 int age;
 cin >> first_name;
 cin >> age;
 cout << "Hello, " << first_name << " (age " << age << ")\n";
 return (0);
 }
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Оксана 1234
 Аватар для Оксана 1234
4 / 4 / 0
Регистрация: 10.04.2013
Сообщений: 158
24.10.2013, 20:13     Первая программа С++ #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <string>
 
using namespace std;
 
int main ()
{
cout << "Enter your name and age\n";
string first_name;
int age;
cin >> first_name;
cin >> age;
cout << "Hello, " << first_name << " (age " << age << ")\n";
return (0);
}
Добавлено через 4 минуты
Ты используеш строки потому тебе нужно было подключить библиотеку #include <string>. Эсли не используешь std, то нужно подключать не #include <iostream>, а #include <iostream.h>.Потому это обязательно
cristianoman
0 / 0 / 0
Регистрация: 18.03.2013
Сообщений: 21
29.10.2013, 19:34  [ТС]     Первая программа С++ #3
Спасибо. Имя и возраст запрашивает, но результат вконце не выдает. Не задерживается на экране, а закрывается.
Программа "[3916] vozrst.exe: Машинный код" завершилась с кодом 0 (0x0).
metaluga145
243 / 244 / 20
Регистрация: 08.04.2013
Сообщений: 927
29.10.2013, 19:45     Первая программа С++ #4
cristianoman, допишите перед return 0; строку system("pause");
Zig_Stas
8 / 8 / 1
Регистрация: 26.10.2013
Сообщений: 55
29.10.2013, 19:48     Первая программа С++ #5
Цитата Сообщение от cristianoman Посмотреть сообщение
Спасибо. Имя и возраст запрашивает, но результат вконце не выдает. Не задерживается на экране, а закрывается.
Программа "[3916] vozrst.exe: Машинный код" завершилась с кодом 0 (0x0).
Вроде не должно ничего ошибочного выдавать.
Попробуй:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <string>
 
using namespace std;
 
void main ()
{
cout << "Enter your name and age\n";
string first_name;
int age;
cin >> first_name;
cin >> age;
cout << "Hello, " << first_name << " (age " << age << ")\n";
system("pause");
}
metaluga145
243 / 244 / 20
Регистрация: 08.04.2013
Сообщений: 927
29.10.2013, 19:54     Первая программа С++ #6
Zig_Stas, не пишите void main()! это неправильно! функция main всегда, удачно завершившись, должна вернуть 0.
Zig_Stas
8 / 8 / 1
Регистрация: 26.10.2013
Сообщений: 55
29.10.2013, 19:56     Первая программа С++ #7
Цитата Сообщение от metaluga145 Посмотреть сообщение
Zig_Stas, не пишите void main()! это неправильно! функция main всегда, удачно завершившись, должна вернуть 0.
Это почему? Почему она не может ничего не вернуть, а просто запаузиться по завершении работы?
metaluga145
243 / 244 / 20
Регистрация: 08.04.2013
Сообщений: 927
29.10.2013, 19:58     Первая программа С++ #8
Zig_Stas, потому что,если программа ничего не вернет в винду, то винда воспримет это как undefined behavior. Может быть много проблем с этим! можете погуглить
Zig_Stas
8 / 8 / 1
Регистрация: 26.10.2013
Сообщений: 55
29.10.2013, 20:02     Первая программа С++ #9
Цитата Сообщение от metaluga145 Посмотреть сообщение
Zig_Stas, потому что,если программа ничего не вернет в винду, то винда воспримет это как undefined behavior. Может быть много проблем с этим! можете погуглить
Загуглил, узнал, подтверждаю=) Спасибо, запомню=)
cristianoman
0 / 0 / 0
Регистрация: 18.03.2013
Сообщений: 21
29.10.2013, 20:28  [ТС]     Первая программа С++ #10
Да, спасибо. system("pause") помогло. Но почему в учебнике этого нет? Или это уже зависит от версии компилятора? Вобщем тему можно закрыть. Спасибо
Matan!
13 / 13 / 1
Регистрация: 31.05.2013
Сообщений: 208
Записей в блоге: 1
Завершенные тесты: 1
29.10.2013, 20:31     Первая программа С++ #11
Цитата Сообщение от metaluga145 Посмотреть сообщение
cristianoman, допишите перед return 0; строку system("pause");
Вообще говоря,использование системных команд настораживает...Лучше в Declaration дописать #include <conio.h> и вместо system("pause"); написать _getch();
metaluga145
243 / 244 / 20
Регистрация: 08.04.2013
Сообщений: 927
29.10.2013, 20:36     Первая программа С++ #12
Matan!, Вас волнует кроссплатформенность программы?
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11840 / 6819 / 771
Регистрация: 27.09.2012
Сообщений: 16,911
Записей в блоге: 2
Завершенные тесты: 1
29.10.2013, 21:04     Первая программа С++ #13
Цитата Сообщение от cristianoman Посмотреть сообщение
Но почему в учебнике этого нет?
потому что "pause" это команда в windows и к языку отношения не имеет.
Запустите свою программу из консоли и никаких "pause" не потребуется.
Если в Visual C++, то можете запустить сочетанием ctrl+F5 ( без отладчика), тогда программа будет ждать нажатия клавиши после завершения.
Цитата Сообщение от Matan! Посмотреть сообщение
и вместо system("pause"); написать _getch();
шило на мыло? У лучше system ("pause"), чем _getch
Цитата Сообщение от metaluga145 Посмотреть сообщение
Вас волнует кроссплатформенность программы?
А Вас? system ("pause") также не кроссплатформенное решение
metaluga145
243 / 244 / 20
Регистрация: 08.04.2013
Сообщений: 927
30.10.2013, 04:42     Первая программа С++ #14
Цитата Сообщение от Croessmah Посмотреть сообщение
А Вас? system ("pause") также не кроссплатформенное решение
так а меня в данном случае и не волновала кроссплатформенность, потому я написал именно эту системную команду
Matan!
13 / 13 / 1
Регистрация: 31.05.2013
Сообщений: 208
Записей в блоге: 1
Завершенные тесты: 1
30.10.2013, 12:26     Первая программа С++ #15
Цитата Сообщение от metaluga145 Посмотреть сообщение
Matan!, Вас волнует кроссплатформенность программы?
Очень волнуетВы даже себе не представляете,насколько.

Добавлено через 2 минуты
Цитата Сообщение от metaluga145 Посмотреть сообщение
так а меня в данном случае и не волновала кроссплатформенность, потому я написал именно эту системную команду
А спрашивал тогда зачем?

Добавлено через 1 минуту
Цитата Сообщение от Croessmah Посмотреть сообщение
шило на мыло? У лучше system ("pause"), чем _getch
Почему лучше? Спрашиваю,т.к.самому интересно.
metaluga145
243 / 244 / 20
Регистрация: 08.04.2013
Сообщений: 927
30.10.2013, 14:01     Первая программа С++ #16
Цитата Сообщение от Matan! Посмотреть сообщение
А спрашивал тогда зачем?
просто не понял чем Вам не понравилась системная функция) единственное место, в котором кого-то это должно волновать - это кроссплатформенность) других причин не вижу просто
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5549 / 2563 / 233
Регистрация: 01.11.2011
Сообщений: 6,334
Завершенные тесты: 1
30.10.2013, 14:06     Первая программа С++ #17
Цитата Сообщение от Matan! Посмотреть сообщение
вместо system("pause"); написать _getch();
C++
1
cin.ignore();

(всего лишь как вариант)
Matan!
13 / 13 / 1
Регистрация: 31.05.2013
Сообщений: 208
Записей в блоге: 1
Завершенные тесты: 1
30.10.2013, 15:41     Первая программа С++ #18
Цитата Сообщение от SatanaXIII Посмотреть сообщение
C++
1
cin.ignore();

(всего лишь как вариант)
Это что такое?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.10.2013, 15:51     Первая программа С++
Еще ссылки по теме:

Первая программа на С++ C++
C++ первая программа
Первая программа, синтаксическая ошибка C++

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

Или воспользуйтесь поиском по форуму:
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5549 / 2563 / 233
Регистрация: 01.11.2011
Сообщений: 6,334
Завершенные тесты: 1
30.10.2013, 15:51     Первая программа С++ #19
Цитата Сообщение от Matan! Посмотреть сообщение
Это что такое?
Один из вариантов остановки консольной программы. Кстати к разговору про кроссплатформенность.
Yandex
Объявления
30.10.2013, 15:51     Первая программа С++
Ответ Создать тему
Опции темы

Текущее время: 21:34. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru