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

Странные вещи с циклом. Что бы это могло быть? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Вывести массив на экран из бинарного файла http://www.cyberforum.ru/cpp-beginners/thread912969.html
2. Компоненты заданного бинарного файла – массивы, состоящие из 4 вещественных чисел каждый. Вывести на экран сумму вторых элементов всех массивов. #include <iostream> #include <fstream> #include <cstdlib> #include <ctime> using namespace std; float randDouble(double a, double b)
C++ Подключение библиотеки Font Stash Есть такая библиотека Font Stash для отрисовки текста в OpenGL. У меня проблема ее подключить так, чтобы работала. Использую код из примера на гитхабе. Что я пробовал: 1. В папку с проектом кладу fontstash.h/.c и stb_truetype.h/.c. Согласно инструкции инклудю fontstash.h. Билдятся fontstash и stb_truetype, и затем при сборке вылетают undefined reference на каждую функцию fontstash. 2. Делал... http://www.cyberforum.ru/cpp-beginners/thread912957.html
Отличие объявления, определения и инициализации C++
Здравствуйте, товарищи. Читаю тут книжицу по C++, учусь потихоньку. И возник у меня вопрос нерядового характера: в чём фундаментальное отличие объявления, определения и инициализации? В книге всё намешано, ничего не понятненько. Однако усёк, что они говаривают, будто такая строка: int a = 3; не просто присваивание переменной значения, а что-то большее. И как-то это связано с созданием...
разбор задачки. системы счисления C++
перевод числа из произвольной системы в десятичную..сам код программы не мой.. дали для примера чтоб свои части программы делали в этой же проге. но запускаю данную допустим для числа E8.2 14cc и выдает ошибку- некорректный ввод данных.а для D8.2 например, решается. Как понимаю что ктото неправильно значения для них выставил,E считается как 15 или строго больше 14 а не равно 14 как должно быть в...
C++ для данного натурального n и действительного x подсчитать следующие суммы http://www.cyberforum.ru/cpp-beginners/thread912900.html
для данного натурального n и действительного x подсчитать следующие суммы S=cos1-cos2+cos-...+(-1)^n+1cosn
C++ Вывести на экран числа ввиде следующей таблицы Вывести на экран числа ввиде следующей таблицы 6 6 6 6 6 7 7 7 7 8 8 8 9 9 10 подробнее

Показать сообщение отдельно
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
27.06.2013, 02:17     Странные вещи с циклом. Что бы это могло быть?
cin >> ожидает ввод цифр, вводится буква, из-за этого в потоке ввода устанавливается флаг ошибки, пока он не сброшен поток не работает.

Добавлено через 7 минут
Но сбросить флаг ошибки недостаточно, т.к. в потоке остаётся буква, которая при следующем считывании опять вызовет ошибку. Нужно и поток очистить.

Добавлено через 4 минуты
Например, так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
do
{
   cin >> number;
   if (cin)
   {
        cout << "wtf?" << endl;
   }
   else
   {
        cin.clear();
        while (cin.get() != '\n');
   }
 
} while (number >= 0);
 
Текущее время: 08:58. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru