Login
C++ Липман
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
Подумай сам. Там все достаточно прозрачно, включая место возможной ошибки.
NEW 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
Привыкай к тому, что Я объясняю только те моменты, которые самостоятельно освоить более чем тяжко... и то - не всегда. Привычка, понимаешь ли, учить самообучаться...
NEW 27.10.07 20:11
in Antwort Simple 27.10.07 01:42
"А только вы меня на враках не споймали!" (с)Шарапов.
NEW 29.10.07 09:22
in Antwort Chipolino 28.10.07 16:49
NEW 29.10.07 09:32
in Antwort Simple 29.10.07 09:22
NEW 29.10.07 11:05
in Antwort Chipolino 29.10.07 09:32, Zuletzt geändert 29.10.07 19:39 (scorpi_)
Не, Murr::ignore() значит, что мурр всех игнорирует. Правильно так
class User
{
...
... read( const Post& post )
{
if ( "Murr" == post.author() && post.subject().contains( "C++" ) )
ignore();
...
}
...
}
NEW 29.10.07 11:29
in Antwort scorpi_ 29.10.07 11:05
NEW 29.10.07 11:52
in Antwort scorpi_ 29.10.07 11:05
NEW 29.10.07 11:53
in Antwort Simple 29.10.07 11:29
NEW 29.10.07 12:16
тупая привычка добавлять Т или C перед названием класса ?ИМХО.
in Antwort Murr 29.10.07 11:52
В ответ на:
class TUser - просто читабельнее...
class TUser - просто читабельнее...
тупая привычка добавлять Т или C перед названием класса ?ИМХО.
NEW 29.10.07 18:59
in Antwort Chipolino 29.10.07 12:16
NEW 29.10.07 19:38
in Antwort AlexNek 29.10.07 18:59
Следуешь соглашению - классы с большой, переменные с маленькой, и всё ясно и понятно. А во-вторых думать всегда полезно. Может там дополнительная инфа нужна? Например не User user = ...; a User forum_user = ...;
NEW 29.10.07 21:02
in Antwort scorpi_ 29.10.07 19:38
Кому как нравится, я люблю все с большой. А "forum_user" будет наследован от СUser и переменная будет тогда ForumUser, очень удобно копи\пасте и букву долой. Только я не призываю никого следовать этим правилам. Все равно на работе пишешь как требуют, а как нравится когда для себя. Просто это не дурная привычка, а так лично мне удобнее. Конечно, не буду отрицать ,что мелкософт приложил к этому свою лапу.
NEW 29.10.07 23:03
in Antwort Chipolino 29.10.07 12:16
Эта "привычка", а точнее - часть Правил Кодирования, позволяет много быстрее понимать код и находить проблемные части. За деталями - в ту дискуссию, где Я объяснял, что каждое из полей, на уровне бизнес-объекта, должно иметь свой тип, А с введением итераторов foreach отпадает необходимость определять переменную цикла.
NEW 29.10.07 23:06
in Antwort AlexNek 29.10.07 18:59
CUser User = ...
------
Эээ...
TUser user = ... - все локальные переменные,
так как User зарезервировано для пропертей...
------
Эээ...
TUser user = ... - все локальные переменные,
так как User зарезервировано для пропертей...
NEW 29.10.07 23:13
in Antwort scorpi_ 29.10.07 19:38
Следуешь соглашению - классы с большой, переменные с маленькой, и всё ясно и понятно.
------
Ну а Property куда денешь? Будешь добавлять куда-то циферьку/буковку? Почему не в имя класса?
А во-вторых думать всегда полезно. Может там дополнительная инфа нужна? Например не User user = ...; a User forum_user = ...;
------
class TForum_user : TUser...
TForum_user forum_user = ...;
Сам же говоришь, что сущность, отличная от первой...
------
Ну а Property куда денешь? Будешь добавлять куда-то циферьку/буковку? Почему не в имя класса?
А во-вторых думать всегда полезно. Может там дополнительная инфа нужна? Например не User user = ...; a User forum_user = ...;
------
class TForum_user : TUser...
TForum_user forum_user = ...;
Сам же говоришь, что сущность, отличная от первой...
NEW 29.10.07 23:42
in Antwort Murr 29.10.07 23:06
NEW 29.10.07 23:45
in Antwort AlexNek 29.10.07 23:42
Тогда все остается как есть, а пропертей просто нету.
В смысле - не надо перестраиваться с заглавной на маленькую.
В смысле - не надо перестраиваться с заглавной на маленькую.
NEW 30.10.07 09:02
"Твои" правила кодирования мне как-то пох...
И откровенно говоря , я устал уже читать твою самозабвенную чушь , по крайней мере что касается плюсов .
PS. "Я" пишется с маленькой буквы .
in Antwort Murr 29.10.07 23:03
В ответ на:
Эта "привычка", а точнее - часть Правил Кодирования, позволяет много быстрее понимать код и находить проблемные части. За деталями - в ту дискуссию, где Я объяснял, что каждое из полей, на уровне бизнес-объекта, должно иметь свой тип, А с введением итераторов foreach отпадает необходимость определять переменную цикла.
Эта "привычка", а точнее - часть Правил Кодирования, позволяет много быстрее понимать код и находить проблемные части. За деталями - в ту дискуссию, где Я объяснял, что каждое из полей, на уровне бизнес-объекта, должно иметь свой тип, А с введением итераторов foreach отпадает необходимость определять переменную цикла.
"Твои" правила кодирования мне как-то пох...
И откровенно говоря , я устал уже читать твою самозабвенную чушь , по крайней мере что касается плюсов .
PS. "Я" пишется с маленькой буквы .
NEW 30.10.07 13:46
in Antwort Chipolino 30.10.07 09:02
"Твои" правила кодирования мне как-то пох...
------
Мне твой пох - без интересу. Я, как и AlexNek, никому своего стандарта кодирования не навязываю, за исключением случаев, когда работаем в команде. И даже тогда, объясняя почему выбрана та или иная форма записи, оставляю возможность ее заменить - всего то требуется доступно объяснить в чем будет преимущество.
"Я" пишется с маленькой буквы .
------
Учи английский...
------
Мне твой пох - без интересу. Я, как и AlexNek, никому своего стандарта кодирования не навязываю, за исключением случаев, когда работаем в команде. И даже тогда, объясняя почему выбрана та или иная форма записи, оставляю возможность ее заменить - всего то требуется доступно объяснить в чем будет преимущество.
"Я" пишется с маленькой буквы .
------
Учи английский...
NEW 30.10.07 14:13
in Antwort Murr 30.10.07 13:46
NEW 30.10.07 16:09
in Antwort Chipolino 30.10.07 14:13
Так мы всё время по английски общаемся ?
-----
Не знаю как вы, но у меня 90% общения - на английском...
-----
Не знаю как вы, но у меня 90% общения - на английском...
NEW 30.10.07 16:11
in Antwort Simple 30.10.07 15:42
Учи сцуконах албанский! :-D
------
Не нападай на Чиполино! Он хороший! Правда ему до Чиполотто еще расти и расти...
------
Не нападай на Чиполино! Он хороший! Правда ему до Чиполотто еще расти и расти...
NEW 30.10.07 17:27
in Antwort Simple 30.10.07 15:42
NEW 30.10.07 19:48
in Antwort Chipolino 30.10.07 09:02
Речь вроде шла просто о Правилах Кодирования, а не о конкретных рекомендациям. Важно только то чтобы они были и не сильно отличались от общепринятых норм. Хотя последнее замечание больше относится к программисту со стороны. Шеф все равно сделает так как ему нравится.