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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
underwaterspace
2 / 2 / 0
Регистрация: 29.01.2013
Сообщений: 47
#1

Бесконечный цикл - C++

02.02.2013, 14:46. Просмотров 396. Ответов 2
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <iostream>
#include <climits>
bool is_int(double); 
int main()
{
    using namespace std;
    double num;
 
    cout << "Yo, dude! Enter an integer value: ";
    cin >> num;
    while (!is_int(num))    // continue while num is not int-able
    {
        cout << "Out of range -- please try again: ";
        cin >> num;
    }
    int val = int (num);    // type cast
    cout << "You've entered the integer " << val << "\nBye\n";
    system("PAUSE");
    return 0;
}
 
bool is_int(double x)
{
    if (x <= INT_MAX && x >= INT_MIN)   // use climits values
        return true;
    else
        return false; 
}
Если ввести символ, то цикл многократно выдает "Out of range -- please try again:" и не дает ввести следующее значение, почему?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.02.2013, 14:46     Бесконечный цикл
Посмотрите здесь:

Бесконечный цикл - C++
Как ввести программу в бесконечный цикл на C++ ? Смотрел видео где делали бесконечный цикл (НО!) это было на Small Basic'е, а мне нужно...

Бесконечный цикл - C++
Здравствуйте. Программа должна принимать некоторые значения, обрабатывать их и выдавать в виде статистики (нарисовать звездочками). ...

Бесконечный цикл - C++
Ребят, что-то цикл выполняется постоянно. Покажите ошибку мне/ #include &lt;iostream&gt; using namespace std; int main() { ...

Бесконечный цикл - C++
Простите что с таким лёгким вопросом, но мистика окутывает мою учёбу всё больше и больше ^^ Тут програмка которая считает сумму каждого...

Бесконечный цикл - C++
Задача: Дед Мазай спасает зайцев. На N островках находится некоторое количество зайцев разной массы. Грузоподъемность лодки Мазая...

Бесконечный цикл while - C++
Здравствуйте необходимо написать бесконечный цикл while , который при запуске программы постоянно выводил на экран char переменную &quot;y&quot; и...

Бесконечный цикл - C++
Почему компилятор выдает всякую ерунду при попытке воспроизвести этот код? Что его зацикливает? #include &quot;stdafx.h&quot; #include...

Бесконечный цикл - C++
if (!(cin &gt;&gt; Mas &gt;&gt; Rost)) { cout &lt;&lt; &quot;Ошибка\n&quot;; continue; } В общем при вводе букв начинается бесконечный цикл, а надо...

бесконечный цикл - C++
Когда пытаюсь считать строки из файла с помощью цикла, он почему то начинает повторятся бесконечно. Вот код: int main(int argc, char*...

Устранить бесконечный цикл - C++
Можете подсказать в чем ошибка? Программа запускается, но, после ввода основания и 2ух чисел, останавливается. #include &quot;stdafx.h&quot; ...

while : переходит в бесконечный цикл - C++
#include&lt;iostream&gt; #include&lt;conio.h&gt; using namespace std; int main() { int y,n; cout&lt;&lt;&quot;n: &quot;; cin&gt;&gt;n; ...

Не работает бесконечный цикл - C++
#include &lt;iostream&gt; // для оператора cout #include &lt;cctype&gt; // для функции islower #include &lt;cmath&gt; //для математич. вычислений ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Olivеr
411 / 407 / 13
Регистрация: 06.10.2011
Сообщений: 830
02.02.2013, 14:57     Бесконечный цикл #2
В GNU GCC всё работает как надо.
Попробуйте заменить:
C++
1
2
3
4
5
6
     
    while (!is_int(num))    // continue while num is not int-able
    {
        cout << "Out of range -- please try again: ";
        cin >> num;
    }
на
C++
1
2
3
4
5
6
7
    while (!is_int(num))    // continue while num is not int-able
    {
        cout << "Out of range -- please try again: ";
        cin.clear();
        cin.ignore(1024,'\n');
        cin >> num;
    }
Catstail
Модератор
22449 / 10854 / 1768
Регистрация: 12.02.2012
Сообщений: 17,971
02.02.2013, 14:58     Бесконечный цикл #3
Цитата Сообщение от underwaterspace Посмотреть сообщение
и не дает ввести следующее значение, почему?
потому, что условие while не меняется в цикле и остается истиным...
Yandex
Объявления
02.02.2013, 14:58     Бесконечный цикл
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru