Login
C++ Липман
NEW 26.10.07 00:27
Zuletzt geändert 26.10.07 00:33 (dmitryd)
Осваиваю книгу липмана С++ для начинающих, вот код из нее, цитирую:
Таким макаром у меня эта програмка не заработала, пока я не дополнил и получилось это
С самого начала книги попадаются ошибки в коде, то скобки пропущенны, то еще что нибудь. Вроде гугл говорит что автора стоит читать или?
В ответ на:
Вот пример простой законченной программы, считывающей по одному слову из cin и выводящей их в cout:
#include <iostream>
#include <string>
int main ()
{
string word;
while ( cin >> word )
cout << "Прочитано слово: " << word << "\n";
cout << "Все слова прочитаны!";
}
Вот пример простой законченной программы, считывающей по одному слову из cin и выводящей их в cout:
#include <iostream>
#include <string>
int main ()
{
string word;
while ( cin >> word )
cout << "Прочитано слово: " << word << "\n";
cout << "Все слова прочитаны!";
}
Таким макаром у меня эта програмка не заработала, пока я не дополнил и получилось это
В ответ на:
#include <iostream>
#include <string>
using namespace std;
int main ()
{
string word;
while ( cin >> word ){
cout << "Прочитано слово: " << word << "\n";
}
cout << "Все слова прочитаны!";
}
Но вот беда програмка не выходит из цикла(да собсно и не должна судя по коду), или я чтото не правильно понимаю?#include <iostream>
#include <string>
using namespace std;
int main ()
{
string word;
while ( cin >> word ){
cout << "Прочитано слово: " << word << "\n";
}
cout << "Все слова прочитаны!";
}
С самого начала книги попадаются ошибки в коде, то скобки пропущенны, то еще что нибудь. Вроде гугл говорит что автора стоит читать или?
NEW 26.10.07 09:24 
Введите условия выхода из цикла, например при вводе слова 'exit'.
in Antwort dmitryd 26.10.07 00:27
В ответ на:
да собсно и не должна судя по коду
да собсно и не должна судя по коду

Введите условия выхода из цикла, например при вводе слова 'exit'.
NEW 26.10.07 10:24
in Antwort dmitryd 26.10.07 00:27
попробуй комбинацию Ctrl+D (Ctrl+Z в win) для окончания ввода .
NEW 26.10.07 11:28
in Antwort Chipolino 26.10.07 10:24
Спасибо, контрл-д выводит из цикла, чет я сам не до пер.
Возможно я это где то в книге пропустил...

NEW 26.10.07 11:30
in Antwort Herzog 26.10.07 09:24
В ответ на:
Введите условия выхода из цикла, например при вводе слова 'exit'.
Спасибо, над этим тоже подумаю.Введите условия выхода из цикла, например при вводе слова 'exit'.
NEW 26.10.07 12:14
in Antwort dmitryd 26.10.07 00:27
да собсно и не должна судя по коду
------
Добавленные тобой скобки ничего в приведенном коде не меняют.
Ну разве что обработка operator<<() неправильно выполняется транслятором.
------
Добавленные тобой скобки ничего в приведенном коде не меняют.
Ну разве что обработка operator<<() неправильно выполняется транслятором.
NEW 26.10.07 12:52
Пожалуйста поподробней .
in Antwort Murr 26.10.07 12:14
В ответ на:
Ну разве что обработка operator<<() неправильно выполняется транслятором.
Ну разве что обработка operator<<() неправильно выполняется транслятором.
Пожалуйста поподробней .
NEW 26.10.07 12:56
in Antwort Murr 26.10.07 12:14
хм, действительно без них работает, но без пространства имен нет...
Но я думаю мне это пока простительно, еще пару недель назад в программировании я ни имел никакого понятия...
Спасибо за подсказку.
Но я думаю мне это пока простительно, еще пару недель назад в программировании я ни имел никакого понятия...
Спасибо за подсказку.

NEW 26.10.07 13:00
in Antwort Chipolino 26.10.07 12:52
Подумай сам. Там все достаточно прозрачно, включая место возможной ошибки.
26.10.07 13:21
in Antwort dmitryd 26.10.07 12:56
Тебе нужно начать вырабатывать то, что называется Стандартом Кодирования.
Это как раз относится к использованию фигурных скобок там, где можно обойтись
без них. Думай об этом с точки зрения просмотра написанного кода и выбери
вариант который позволяет читать код наиболее быстро. И придерживайся его...
Это как раз относится к использованию фигурных скобок там, где можно обойтись
без них. Думай об этом с точки зрения просмотра написанного кода и выбери
вариант который позволяет читать код наиболее быстро. И придерживайся его...
NEW 26.10.07 14:21
in Antwort Murr 26.10.07 13:00
нельзя было просто написать что человек забыл про namespace std ,
нет пля , надо сумничать про оператор ...
нет пля , надо сумничать про оператор ...
NEW 26.10.07 14:38
in Antwort Herzog 26.10.07 09:24
Уже час варианты перебираю, но чего-то не выходит
#include <iostream>
#include <string>
using namespace std;
int main ()
{
string word;
while ( cin >> word )
cout << "Прочитано слово: " << word << endl;
else if (cin >> word >> "exit")
break;
cout << "Все слова прочитаны!";
}
Выдает вот что :
double.c: In function ‘int main()’:
double.c:9: ошибка: expected primary-expression before ‘else’
double.c:9: ошибка: expected `;' before ‘else’

#include <iostream>
#include <string>
using namespace std;
int main ()
{
string word;
while ( cin >> word )
cout << "Прочитано слово: " << word << endl;
else if (cin >> word >> "exit")
break;
cout << "Все слова прочитаны!";
}
Выдает вот что :
double.c: In function ‘int main()’:
double.c:9: ошибка: expected primary-expression before ‘else’
double.c:9: ошибка: expected `;' before ‘else’
NEW 26.10.07 14:58
in Antwort Chipolino 26.10.07 14:43
В ответ на:
while ( cin >> word ){
cout << "Прочитано слово: " << word << endl;
if (cin>>word && word!="exit") break;
}
Спасибо, так заработало.while ( cin >> word ){
cout << "Прочитано слово: " << word << endl;
if (cin>>word && word!="exit") break;
}
NEW 26.10.07 15:07
in Antwort dmitryd 26.10.07 14:58
NEW 26.10.07 16:30
in Antwort Chipolino 26.10.07 15:07
NEW 26.10.07 21:56
in Antwort Chipolino 26.10.07 14:21
Привыкай к тому, что Я объясняю только те моменты, которые самостоятельно освоить более чем тяжко... и то - не всегда. Привычка, понимаешь ли, учить самообучаться...