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

Меню в программе - бесконечный loop - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Работа с файлами необходима функция или просто счетчик С++ http://www.cyberforum.ru/cpp-beginners/thread1307648.html
Здравствуйте задача состоит в слудующем есть файл база знаний в которой написаны автомобили и критерии к этому автомобилю База знаний 1 Мазда=Япония Справо Быстрый Музыка 2 Тойота=Япония Справо...
C++ Создание массива класса Пишу курсовую, задание получил следующее: "Разработать приложение на С++, позволяющее, собирать, накапливать сведения о студентах и занятиях, посещаемых ими. Структура приложения должна включать... http://www.cyberforum.ru/cpp-beginners/thread1307644.html
Sublime & AStyleFormatter C++
Добрый день. Не получается настроить автоформат c++-файлов. Выставляю в настройках плагина стандарт GNU, в котором, если не ошибаюсь, разрешается писать функции так - void fn() { return; }, но все...
C++ Release/Debug
Здравствуйте! Пишу сложную расчётную программу. И мне важна скорость выполнения программы. И хотел бы проконсультироваться. Делал с помощью clock(). На debug мне программа выдавала, что выполняется...
C++ Составить програму с использованием функции http://www.cyberforum.ru/cpp-beginners/thread1307617.html
a) функции находятся в этом же файле b) функции находятся в другом файле Даны N чисел. Какое из N чисел будет больше, если в каждом числе переставить крайние цифры?
C++ Массив int перевести в буфер Нужно перевести массив интов в char* array, а потом это сделать наоборот т.е опять получить массив интов. Добавлено через 1 минуту думал как-то так char* buf; for(int i=0;i<10;i++){ buf=... подробнее

Показать сообщение отдельно
TheCalligrapher
С чаем беда...
Эксперт CЭксперт С++
3826 / 2084 / 532
Регистрация: 18.10.2014
Сообщений: 3,699
23.11.2014, 12:24
Основная проблема этой программы - не в организации цикла, а в том, что она пытается читать из входного потока число. Если во входном потоке сидит что-то нечисловое, то чтение числа будет прекращено. "Нечисловые" символы останутся в потоке непрочитанными. В следующий раз, когда вы снова попытаетесь выполнить чтение числа, во входном потоке по прежнему будут сидеть те же самые непрочитанные "нечисловые" символы и чтение числа снова будет прекращено неудачно. Так будет продолжаться до бесконечности.

Каким образом вы будете организовывать свой цикл никакой роли не играет. Как ни вертись, пока во входном потоке застряли "нечисловые" символы, прочитать оттуда число все равно не удастся.

Чтоб решить проблему, надо либо чистить входной поток после неудачного чтения, либо не пытаться читать сразу число вообще. Лучше читайте из входного потока строку, а потом уже самостоятельно переводите ее в число.
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru