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

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

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

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

28.06.2013, 21:32. Просмотров 967. Ответов 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++
Как решить? Можете помочь 9 вариант Прочитайте правила: Правила форума Пункт 5.18: Запрещено размещать задания и решения в виде...

Обработка ошибок ввода из потока cin - C++
Доброго времени суток всем! Помогите пожалуйста разобраться. После ввода буквы например, то есть когда поток ломается, пытаюсь его...

Функции ввода/вывода printf(), scanf(). - C++
Составить программу для форматированного ввода и вывода данных заданного типа: Тип1=unsigned int; тип2= long int; тип3=float;...

scanf,cin разбор ввода данных - C++
Доброго времени суток :) Подскажите как взять с консоли или скажем с файла(fscanf) 2 числа и текст между (текст и числа разделены знаками...

Переделать потоки ввода-вывода на prinf и scanf - C++
#include &lt;iostream.h&gt; #include &lt;conio.h&gt; #include &lt;stdlib.h&gt; int x,y,i,j,n1,m1,n2,m2,z; void cret(void) { cout&lt;&lt;&quot;\nVvedit...

Компиляция через консоль. VS 2012 - C++
Запускаю vcvars32.bat в папке C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin Пишу: cl -GX C:\Downloads\Sample.cpp Ответ: ...

Visual Studio - ошибка в функции scanf - C++
Задумал решить задачку. Ерунда, подумал я! Читаем числа из файла по порядку, нечётные в один массив, чётные сразу вывожу в первую...

НЕ запускается без выдачи каких либо ошибок vs 2012 - C++
#include &lt;iostream&gt; #include &lt;Windows.h&gt; #include &lt;io.h&gt; #include &quot;stdafx.h&quot; #include &lt;stdio.h&gt; #include &lt;dos.h&gt; #define...

При компиляции ошибок нет, но выходит пустая консоль - C++
При компиляции ошибок нет, но выходит пустая консоль. Независимо от кода, раньше всё работало идеально, сейчас выходит пустая консоль

Поток ввода без ошибок - C++
В чем состоит задача: нужно организовать ввод вещественных чисел в массив с помощью cin. И нужно, чтобы при вводе символа не подходящего...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Belfegor
Ghost
172 / 172 / 6
Регистрация: 16.09.2012
Сообщений: 526
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;
}
Ответ Создать тему
Опции темы

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