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

Ошибки в программе - C++

Восстановить пароль Регистрация
 
vladis222
0 / 0 / 0
Регистрация: 05.12.2011
Сообщений: 78
07.05.2012, 21:21     Ошибки в программе #1
Здравствуйте! Обращаюсь к вам по такому вопросу, я пишу курсовую по С++. И почти написал, но не сделал некоторые вещи. Дело в том, что я не знаю,как написать проверку на числовой тип. То есть, если например, в моей работе , я ввожу параметры вертолета,такие как мощность, высота числом, то все нормально, но когда я ввожу случайно символ, программа вырубается и зависает. Подскажите,пожалуйста,как решить проблему,какая проверка нужна?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.05.2012, 21:21     Ошибки в программе
Посмотрите здесь:

Ошибки в программе C++
C++ Ошибки в программе
Ошибки в программе C++
Ошибки в программе С++ C++
Ошибки в программе C++
C++ Ошибки в программе
ошибки в программе C++
C++ Ошибки в программе

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
antoha398
155 / 155 / 3
Регистрация: 29.03.2012
Сообщений: 418
07.05.2012, 21:48     Ошибки в программе #2
поищи на тему "состояние потока ввода-вывода"

Добавлено через 46 секунд
что-то типа этого
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
int a = 0;
    std::ios::iostate state;
    do {
        std::cout << "Input a number" << std::endl;
        std::cin >> a;
        state = std::cin.rdstate();
        if (state != std::ios::goodbit) {
            std::cout << "Error" << std::endl;
            std::cin.clear(std::ios::goodbit);
            std::cin.ignore(65535, '\n');
        }
    } while (state != std::ios::goodbit);
    std::cout << a;
Добавлено через 6 минут
для верности можно
C++
1
std::cin.ignore(65535, '\n');
заменить на это
C++
1
cin.ignore(numeric_limits<streamsize>::max(),'\n') ;
Yandex
Объявления
07.05.2012, 21:48     Ошибки в программе
Ответ Создать тему
Опции темы

Текущее время: 12:38. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru