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

Некорректно работает функция проверки на численность - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Разветвляющийся алгоритм. Определить размеры очередей после проезда маршрутного такси заданной вместимости http://www.cyberforum.ru/cpp-beginners/thread1349292.html
Известны размеры очередей на трех соседних остановках. Определить размеры очередей после проезда маршрутного такси заданной вместимости.
C++ Структуры, определить средний бал и количество отличников Условие задания: Поля структуры: Фамилия Группа Физика Информатика История Задача такова: http://www.cyberforum.ru/cpp-beginners/thread1349258.html
Определить, есть ли в заданной строке цифра C++
Условие задания: Определить, есть ли в заданной строке цифра. Вывести сообщение об этом. Помогите переделать код, у меня есть, но там ошибки какие-то и мне нужно с объяснением как каждая строчка...
Замена букв на пробелы C++
Дан массив симолов,заменить лат. прописную букву от a до z если есть на пробел.
C++ Преобразование символов в строке http://www.cyberforum.ru/cpp-beginners/thread1349246.html
Нужно изменить буквы в строке по следующему принципу: "a" на "b", "A" на "B", "z" на "a" и т.д. Но толкнулся с такой проблемой: программа строку меняет, но сами изменения не сохраняются. То есть...
C++ Структуры и строчные массивы Условие задания: Введите массив символов из 15 элементов. Подсчитать количество гласных русских букв. Помогите переделать код, у меня есть, но там ошибки какие-то и мне нужно с объяснением как... подробнее

Показать сообщение отдельно
Иван_Богданов
3 / 3 / 0
Регистрация: 18.12.2014
Сообщений: 64
09.01.2015, 17:40  [ТС]
Спасибо, надо попробовать.

Добавлено через 20 минут
Хмм, если подправить тело цикла, сделав проверку if лестницей if-else, то выводит правильные сообщения об ошибках. Но если ввести "нечто", превышающее long long, выведет сообщение о наличии букв!
C++
1
2
3
4
5
do { cout << "Количество значений = "; cin >> i;
if(!is_number()) cout << "Exception: Invalid non-numeric value!\n";
else if(i<INT_MIN || i>INT_MAX) cout << "Exception: Invalid too large or too small value!\n";
else if(i<=0) cout << "Exception: Invalid less than or equal to zero value!\n";
} while(!is_number() || i<INT_MIN || i>INT_MAX || i<=0);
Нужна проверка на влезаемость в long long? Или так и должно быть, значит эта ф-я проверяет не только наличие букв в потоке?
C++
1
2
3
4
5
6
7
bool is_number() {
    if(cin.fail()) {
        cin.clear();
        cin.sync();
        return false;
    } else return true;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru