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

Ошибка в листинге в книге - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Разработка подсистемы обращения к жесткому диску http://www.cyberforum.ru/cpp-beginners/thread818188.html
Собственно моя проблема заключается в том, что я не могу понять, что именно требуется и где найти литературу или статьи на мою проблему (с чего же начать?). Наработки тоже приветствовались бы. ...
C++ Оптимизация функции Здравствуйте, каким образом(кроме switch) можно оптимизировать эту функцию(Нужен самый оптимизированный вариант): void blabla() { if ( a == 1 ) { a = 5; } else if ( a == 0 ) { ... http://www.cyberforum.ru/cpp-beginners/thread818165.html
Поясните результат работы программы C++
Поясните, пожалуйста, результат следующей программы: #include <iostream> struct A { char a; int b; char c; }; int main() { std::cout << sizeof(A); }
C++ Создать структуру: студент
Доброго времени суток! Возникла небольшая проблема, которая поставила меня в тупик. Нужно создать структуру : студент(Фамилия, возраст, номер группы, средний балл). Считать из файла список...
C++ Работа с файлом (Создать структуру студент) http://www.cyberforum.ru/cpp-beginners/thread818114.html
помогите пожалуйста сделать( у меня не получается( Создать структуру студент(Фамилия, возраст, номер группы, средний балл). Считать из файла список студентов и вывести его на экран, отсортировав...
C++ [Error] variable-sized object 'stepsInMaze' may not be initialized #include <iostream> #include <windows.h> #include <cstdlib> struct point { int x; int y; }; подробнее

Показать сообщение отдельно
alsav22
5425 / 4820 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
26.03.2013, 02:37
Тут другое. В 9 строке ввод через cin >> происходит, после этого в потоке всегда остаётся '\n'. cin.get (temp, MaxLen); читает его первым, для него это пустая строка. Реакция у него такая: "Если пустая строка (т.е., '\n' - первый), то чтение останавливается и устанавливается failbit(в отличие от getline(char&, int)), символ '\n' остаётся в очереди (в отличие от getline(char&, int)), в строку ввода помещается '\0';" После этого поток становится нерабочим и срабатывает это (!cin):
C++
1
2
if (!cin || temp [0] == '\0') 
break;
Что можно сделать:
C++
1
(cin >> name).get();
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru