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

Visual C++ 2012. Консоль. scanf(). Обработка ошибок ввода - C++

Восстановить пароль Регистрация
 
Игорь Богомолов
0 / 1 / 0
Регистрация: 01.06.2013
Сообщений: 21
28.06.2013, 21:32     Visual C++ 2012. Консоль. scanf(). Обработка ошибок ввода #1
Я использую процедуру scanf() для ввода даты через точку (типа 01.01.2000).
Мне надо сделать так, чтобы обрабатывались ошибки при вводе (типа 01а2.01.2000), чтобы тогда прога просила ввести дату снова. Как это сделать?

я пробовал примерно так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
 
using namespace std;
 
int main(void)
{
int d, m, y;
 
do {
printf("Enter a date: ");
scanf(%i.%i.%i, &d, &m, &y);
} while ............... // А что вот сюда поставить - не знаю, пробовал разное, но цикл зацикливается, начинает бесконечно писать "Enter a date: ". Что делать?
 
return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.06.2013, 21:32     Visual C++ 2012. Консоль. scanf(). Обработка ошибок ввода
Посмотрите здесь:

C++ Функции ввода/вывода printf(), scanf().
C++ Поток ввода без ошибок
C++ Обработка ошибок
Visual Studio - ошибка в функции scanf C++
C++ scanf,cin разбор ввода данных
Компиляция через консоль. VS 2012 C++
C++ В Чем разница между MS Visual C++ 2011 vs MS Visual C++2012
НЕ запускается без выдачи каких либо ошибок vs 2012 C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Belfegor
Ghost
 Аватар для Belfegor
172 / 172 / 6
Регистрация: 16.09.2012
Сообщений: 524
28.06.2013, 22:17     Visual C++ 2012. Консоль. scanf(). Обработка ошибок ввода #2
C++
1
2
3
4
5
6
7
8
9
10
#include<iostream>
#include<cstdio>
 
int main() {
    int a, b, c;
    do {
        scanf("%i%*c%i%*c%i%", &a, &b, &c);
    } while(true);
    return 0;
}
Yandex
Объявления
28.06.2013, 22:17     Visual C++ 2012. Консоль. scanf(). Обработка ошибок ввода
Ответ Создать тему
Опции темы

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