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

Бесконечный цикл при исключениях - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Правильно ли написана программа? http://www.cyberforum.ru/cpp-beginners/thread1105536.html
Задача такова. Перед авиаперелётом на известное расстояние закупается топливо для самолёта. Топливо продаётся в ёмкостях заданного объёма, указана цена одной ёмкости. Также известен расход топлива...
C++ Вводятся 2 строки. Перевернуть обе строки, склеить и вывести Помогиет с заданием! Вводятся 2 строки. Перевернуть обе строки, склеить и вывести. 1)тип string Код: #include<iostream> using namespace std; #include <string> http://www.cyberforum.ru/cpp-beginners/thread1105520.html
C++ Нахождение наиболее подходящей последовательности
Здравствуйте! Неоднократно сталкивался с разными задачами, которые, как мне кажется, сводятся к одной и той же. Хотел бы, чтобы кто-нибудь объяснил, как решаются задачи такого типа. Мне не нужен код,...
Вывести минимальное количество C++
Даны монеты номиналом 1, 2, 5, 10, 25, 50. Нужно написать программу, в которую вводится любое значение(сумма монет, т.е может быть: 60, 68, 75 и т.д) Программа должна вывести минимальное количество...
C++ Начальное формирование картотеки, вывод всей картотеки, ввод номера телефона и время разговора, вывод извещения на оплату телефонного разговора http://www.cyberforum.ru/cpp-beginners/thread1105469.html
На международной телефонной станции картотека абонентов, содержащая сведения о телефонах и их владельцах, организована как линейный список. Составить программу, которая: • обеспечивает начальное...
C++ корявый вывод и не до конца робит при выводе после 2 выводит строку из букв М и длинные числа -85..... и не выводится просьба ввести искомую фамилию в конце #include <iostream> #include <locale.h> #include<windows.h> #include... подробнее

Показать сообщение отдельно
DU
1484 / 1130 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
25.02.2014, 23:11
после выбрасывания исключения стрим std::cin переходит в плохое состояние и может хранить введенные
ранее символы. поэтому его нужно перевести в хорошее состояние и удалить старрый ввод
http://www.cplusplus.com/reference/ios/ios/clear/
http://www.cplusplus.com/reference/istream/istream/ignore/
как-то так:
C++
1
2
3
4
5
6
    catch(int )
    {
        cout<<"Вы ввели не циферку"<<endl;
        cin.clear();
        cin.ignore(); // указать сколько чего зачистить, иначе будет срабатывать несколько раз если ввести "dsffsdf"
    }
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.