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

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

Войти
Регистрация
Восстановить пароль
 
Игорь Богомолов
0 / 1 / 0
Регистрация: 01.06.2013
Сообщений: 21
#1

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

28.06.2013, 21:32. Просмотров 931. Ответов 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++
НЕ запускается без выдачи каких либо ошибок vs 2012 C++
Обработка ошибок ввода C++
При компиляции ошибок нет, но выходит пустая консоль C++
C++ Переделать потоки ввода-вывода на prinf и scanf
C++ Обработка ошибок ввода из потока cin
обработка ошибок 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(). Обработка ошибок ввода
Ответ Создать тему
Опции темы

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