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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Дана вещественная квадратная матрица http://www.cyberforum.ru/cpp-beginners/thread914280.html
Дана вещественная квадратная матрица. Определить: 1. произведение элементов в тех строках, которые не содержат отрицательных элементов 3. максимум среди элементов диагонали 3. разделить все...
C++ Символьные строки (замена строчных на прописные и на оборот) Как решить задачу. Например в водим cYbErFoRuM,а выведит CyBeRfOrUm то есть меняет строчные на прописные и на оборот.... подскажите как это сделать. http://www.cyberforum.ru/cpp-beginners/thread914261.html
C++ Привести матрицу к треугольному виду
Коэффициенты системы линейных уравнений заданы в виде прямоугольной матрицы. С помощью допустимых преобразований привести систему к треугольному виду. Найти кол-во строк, среднее арифметическое...
C++ Замена printf на cout
Ув. коллеги, Можно ли заменить printf на cout в последнем выражении тернарного оператора (строка 13) без создания новой функции? #include <iostream> using namespace std; int f1(int n);...
C++ Сумма книг http://www.cyberforum.ru/cpp-beginners/thread914229.html
Предположим, что вы продаете книгу по программированию на языке C++ для начинающих. Напишите программу, которая позволит ввести ежемесячные объемы продаж в течение года (в количестве книг, а не в...
C++ Программа учета результатов игры в гольф Напишите программу, которая запрашивает у пользователя 10 результатов игры в гольф, сохраняя их в массиве. При этом необходимо обеспечить возможность прекращения ввода до ввода всех 10 результатов.... подробнее

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

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

28.06.2013, 21:32. Просмотров 996. Ответов 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;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru