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

В чем подводный камень? - C++

Восстановить пароль Регистрация
 
Sayders
0 / 0 / 0
Регистрация: 17.11.2012
Сообщений: 3
17.11.2012, 15:41     В чем подводный камень? #1
Начал почитывать книгу Страуструпа про кресты для начинающих. Как и положено, параллельно практикуясь в интегрированной среде. Но в книге указаны какие-то поехавшие коды, которые Visual 2010 просто отказывается принимать. В книге никакого пояснения к этому я, конечно же, не нашел.
Собственно, код:
Кликните здесь для просмотра всего текста
#include <StdAfx.h>
#include <iostream>

int main()
{
std::cout << "Enter your name." << std::endl;
std::string fisrt_name;
std::cin >> first_name;
std::cout << "Hello, " << first_name << !" << std::endl;
;system("pause");
return 0;
}

Вот что говорит компилятор:
Кликните здесь для просмотра всего текста
1>------ Построение начато: проект: 111, Конфигурация: Debug Win32 ------
1> 111.cpp
1>111.cpp(8): error C2065: first_name: необъявленный идентификатор
1>111.cpp(9): error C2065: first_name: необъявленный идентификатор
1>111.cpp(9): error C2001: newline в константе
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========

Буду очень признателен, если мне, ньюфагу, укажут на ошибку и как с ней бороться.

P.S. Стоит ли вообще учится по литературе Страуструпа? Какая-то она не такая.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Somebody
2770 / 1583 / 141
Регистрация: 03.12.2007
Сообщений: 4,139
Завершенные тесты: 1
17.11.2012, 15:44     В чем подводный камень? #2
first_name: необъявленный идентификатор -> #include <string>
newline в константе -> следи за кавычками
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
17.11.2012, 15:45     В чем подводный камень? #3
#include <string>
Sayders
0 / 0 / 0
Регистрация: 17.11.2012
Сообщений: 3
17.11.2012, 15:49  [ТС]     В чем подводный камень? #4
Указывай на код, сложно ориентироваться по словам, особенно новичку.
Убрал лишнюю кавычку, хотя в книге она была.
Добавил #include <string>, но first_name все равно необъявленный идентификатор.
upd.
Кликните здесь для просмотра всего текста
#include <StdAfx.h>
#include <iostream>
#include <string>
int main()
{
std::cout << "Enter your name." << std::endl;
std::string fisrt_name;
std::cin >> first_name;
std::cout << "Hello, << first_name << !" << std::endl;
;system("pause");
return 0;
}

Кликните здесь для просмотра всего текста
1>------ Построение начато: проект: 111, Конфигурация: Debug Win32 ------
1> 111.cpp
1>111.cpp(8): error C2065: first_name: необъявленный идентификатор
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
17.11.2012, 15:56     В чем подводный камень? #5
Ошибка в названии переменной.
C++
1
std::cin >> fisrt_name;
Добавлено через 2 минуты
Или (что правильнее по названию) :
C++
1
std::string first_name;
Sayders
0 / 0 / 0
Регистрация: 17.11.2012
Сообщений: 3
17.11.2012, 15:59  [ТС]     В чем подводный камень? #6
При запуске программы выводит не так, как было задумано.
Получается примерно так:
Hello, << first_name << !

Чего там не хватает? Кавычек, может?

C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <StdAfx.h>
#include <iostream>
#include <string>
int main()
{
    std::cout << "Enter your name." << std::endl;
    std::string first_name;
    std::cin >> first_name;
    std::cout << "Hello,  << first_name << !" << std::endl;
        ;system("pause");
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.11.2012, 15:59     В чем подводный камень?
Еще ссылки по теме:

C++ В чем причина
в чем? C++
C++ В чем ошибка?

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

Или воспользуйтесь поиском по форуму:
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
17.11.2012, 15:59     В чем подводный камень? #7
Цитата Сообщение от Sayders Посмотреть сообщение
Указывай на код, сложно ориентироваться по словам, особенно новичку.
Форматируйте код когда выкладываете, тогда можно строку указать.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <string>
 
 int main()
 {
 std::cout << "Enter your name." << std::endl;
 std::string first_name;
 std::cin >> first_name;
 std::cout << "Hello, " << first_name << "!" << std::endl;
 
 system("pause");
 return 0;
 }
Yandex
Объявления
17.11.2012, 15:59     В чем подводный камень?
Ответ Создать тему
Опции темы

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