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

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

Войти
Регистрация
Восстановить пароль
 
Suares
0 / 0 / 0
Регистрация: 28.02.2013
Сообщений: 106
#1

Определение ошибок при вводе - C++

24.09.2013, 22:35. Просмотров 316. Ответов 3
Метки нет (Все метки)

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
void enter_point(vector<Point> &v)
{
    double x, y;
    while(true)
    {
        cout << "Enter x and y: ";
        cin >> x >> y;
 
        if(cin)
            v.push_back(Point(x, y));
        else
        {
            if(cin.eof( ))
            {
                cin.clear( );
                break;
            }
    
            if(cin.fail( ))
            {
 
                // Вот тут не знаю как сделать так, что бы, пока у меня не будет введено 2 числа, а не буквы                        или символы, я не смогу их закинуть в вектор.
 
            }
            else
                error("Bad record");
        }
    }
    return ;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.09.2013, 22:35
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Определение ошибок при вводе (C++):

Контроль ошибок при вводе - C++
есть, например, код #include &lt;iostream&gt; int main() { int i; cin &gt;&gt; i; return 0; }

Контроль ошибок при вводе - C++
Появился такой вопрос..как проконтролировать пользователя чтоб тот не вводил где не надо символы. if(cin.fail()) cout&lt;&lt;&quot;Только...

Проверка ошибок при вводе (cin) - C++
Привет, у меня тут при вводе фигня какая-то происходит. Вот код: int width; while (true) { cin &gt;&gt; width; if (cin.good()) ...

Почему при вводе числа программа работает нормально, а при вводе буквы уходит в бесконечный цикл? - C++
void mainmenu() { cout &lt;&lt; &quot;Введи число&quot; &lt;&lt; endl; cin &gt;&gt; choice; if (choice == 1) { cout &lt;&lt; &quot;Hello&quot; &lt;&lt; endl; } ...

Составить программу, которая при вводе символа с клавиатуры выво-дит "латинская буква" при вводе латинской буквы и "не латинская бук-ва" во всех остал - C++
Составить программу, которая при вводе символа с клавиатуры выво-дит &quot;латинская буква&quot; при вводе латинской буквы и &quot;не латинская бук-ва&quot;...

Кирилица отображается нормально при выводе из программы, но иероглифы при вводе в консоль - C++
Что надо подключить что бы в консоли писать русскими буквами? cin &gt;&gt; kol; cin &gt;&gt; x; cout &lt;&lt; &quot;У вас есть &quot; &lt;&lt; kol &lt;&lt; &quot; &quot; &lt;&lt; x; ...

3
Hrobak
289 / 169 / 11
Регистрация: 22.03.2010
Сообщений: 483
Завершенные тесты: 1
25.09.2013, 00:29 #2
Я правильно понял, вам нужно обработать ситуацию некорректного ввода:
C++
1
2
std::cin.clear();
std::cin.ignore(std::numeric_limits<std::streamsize>::max(),'\n');
1
Suares
0 / 0 / 0
Регистрация: 28.02.2013
Сообщений: 106
25.09.2013, 01:00  [ТС] #3
Спасибо, то что надо

Добавлено через 14 минут
Hrobak, что за параметры в функции ignore?
0
Hrobak
289 / 169 / 11
Регистрация: 22.03.2010
Сообщений: 483
Завершенные тесты: 1
25.09.2013, 01:06 #4
Цитата Сообщение от Suares Посмотреть сообщение
Hrobak, что за параметры в функции ignore?
Первый параметр - максимальное количество игнорируемых символов, второй - до какого символа. std::numeric_limits<std::streamsize>::max() значит, что из потока будут извлечены все символы до delim (в данном случае '\n'), либо до конца файла.
0
25.09.2013, 01:06
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.09.2013, 01:06
Привет! Вот еще темы с ответами:

Зацикливается при вводе - C++
Admin.h: #include&lt;string&gt; using namespace std; class Admin { string Login;//Логин администратора string...

Ошибка при вводе - C++
мне нужно записать числа с файла в список , подскажите что не так выводит последнее лишнее число не пойму откуда оно берется #include...

Ошибка с массивом: программа при вводе "ступорится" при нажатии клавиши Enter - C++
Задание: Напишите программу, используя указатели, которая вычисляет адреса чётных элементов массива, состоящего из 10 чисел типа float. ...

Ошибка при вводе матрицы. - C++
Здравствуйте, сейчас пишу программу для проверки матрицы на латинский и магический квадрат, мне каждое действие нужно сделать отдельной...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

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