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

ошибка при вводе в неправильном формате - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Вычислить значение выражения http://www.cyberforum.ru/cpp-beginners/thread146817.html
помогите составить программу вот для такого выражения заранее спасибо)
C++ Максимальное среди 6 введеных чисел Дорогие программисты, очень срочно нужна ваша помощь, нужно сделать программу : -Найдите максимальное среди 6 введенных чисел- желательно через одномерный массив и желательно без функций. Зарание спасибо! http://www.cyberforum.ru/cpp-beginners/thread146816.html
Вычислить значение выражения C++
помогите составить программу вот для такого выражения
Интересный поиск)) Помощь безумно нужна C++
Такая проблема, если до завтра прогу не напишу, отчислят. Дан текстовый файл, найти в нём нужное слово. Но сложность в том чтобы не использовать массивы. А без них не могу. Подскажите пожалуйста!! Заранее спасибо!!
C++ Графика http://www.cyberforum.ru/cpp-beginners/thread146806.html
Составит программу, заполняющую экран контурами треугольников разных цветов. Кто поможет? Есть пример, но что здесь и как работают, если честно, не очень понятно. Программа заполняет экран закрашенными прямоугольниками: #include <dos.h> #include <conio.h> #include <graphics.h> void main()
C++ Количество записей в файле Есть файл Students.txt. В нем: 1) первая запись - число типа long, что означает общее количество записей в файле; 2) после - идут n записей по m байтов. Как подсчитать количество записей в файле и записать сначала файла это количество? подробнее

Показать сообщение отдельно
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9371 / 5421 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
20.06.2010, 05:56     ошибка при вводе в неправильном формате
Юлькo, вот Вам проверка ввода
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
29
30
31
#include <iostream>
#include <string>
#include <limits>
 
int main(){
    int i = 0;
    bool correct = false;
    std::cin.exceptions(std::cin.failbit);
    
    while ( ! correct ) {
        try {
            std::cout << "Enter value: ";
            std::cin >> i;
            if ( ! ( correct = ( std::cin.get() == '\n' ) ) )
                throw ( std::string("Digits are admissible only!") );
        }
        catch ( std::ios_base::failure & ) {
            std::cin.clear();
            std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
            std::cerr << "Wrong input!" << std::endl;
        }
        catch ( const std::string & s ) {
            std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
            std::cerr << s << std::endl;
        }
    }
    
    std::cout << "You have entered " << i << std::endl;
    
    return 0;
}
 
Текущее время: 08:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru