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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.73
Lotys
0 / 0 / 0
Регистрация: 11.05.2011
Сообщений: 3
#1

Проверка на Int - C++

07.12.2011, 07:55. Просмотров 2054. Ответов 1
Метки нет (Все метки)

Не знаю как реализовать проверку на ввод только Int c возможностью исправления(т.е. пока не будет введен Int будет выскакивать сообщение с просьбой ввести значение наново). Пока дошёл только до этого...дальше незнаю
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include "iostream.h"
#include "stdio.h"
#include<conio.h>
main()
{ int numb,flags;
  do
  {
        int flags=1;
        cin >> numb;
        if(cin.fail())
        { 
            cout << "error in stream"<< endl;
            cin.clear(0);       // сброс всех состояний потока
            flags=0;
         }
    }while(flags==0);
  cout<<numb<<endl;
  _getch();
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.12.2011, 07:55     Проверка на Int
Посмотрите здесь:

проверка на int - C++
добрый день! не работает проверка на int . подскажите в чем проблема? bool bFlag; do { cout&lt;&lt;&quot;Enter an integer...

Проверка на int - C++
int main(void) { int vop; setlocale(LC_ALL, &quot;Russian&quot;); int mas1, mas2, mas3, outmas; int ke1, ke2, ke3; do { ...

Проверка соответствия типу int - C++
Привет всем Вот кусок кода int kolvoChel=0; int m=0; int w=0; int k=0; cout &lt;&lt; &quot;Vvedite kol-vo mugchin v semie:...

Try/catch. Проверка на ввод букв в int - C++
Как сделать проверку на ввод букв в переменную типа int? Хочу это реализовать через try/catch, но никак не могу разобраться как это...

Проверка арифметического переполнения для int - C++
Есть задача (из книги Лафоре ООП в С++, задача 4, глава 8): Создайте класс Int, основанный на упражнении 1 из главы 6 . Перегрузите...

Проверка на NULL строки типа Int - C++
Добрый день! в С++ можно сказать второй день Нужно после совершения действий выводить данные что было изменено и на что. ...

Ошибка:unresolved external 'My<int>::My<int>(int)' unresolved external 'My<int>::~My<int>' - C++
есть 3 файла. файл inc.h: ... template &lt;class T&gt; class My { int m_size; T *m_data; public: My(int value); ~My(); ...

Преобразовать int в const int для установки размера массива - C++
Добрый вечер всем! Столкнулся с такой нестандартной проблемой. Нужно преобразовать значения типа int в const int, чтоб константная...

выдаёт error C2440: =: невозможно преобразовать 'int' в 'int [100] - C++
Ввести информацию об абонентах телефонной станции: фамилия, телефон, улица. Распечатать список абонентов 65-й АТС, проживающих на улице...

Ошибка - перегруженность pow(int,int) неосуществима. Как исправить? - C++
#include &lt;iostream&gt; #include &lt;cmath&gt; using namespace std; struct point { int x,y,z; }; double dlina(point a,point b) { ...

error C2664: InputMatrixCurrent: невозможно преобразовать параметр 1 из 'int [5][5]' в 'int' - C++
Помогите поправить код, а то выдаёт ошибки #include &quot;stdafx.h&quot; #include &quot;iostream&quot; using namespace std; void...

Правильное объявление переменной с точки зрения стиля [int *a vs int* a] - C++
И всё таки, как корректней объявлять переменные? 1. int* a, int&amp; a, int** a или 2. int *a, int &amp;a, int **a ?


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Roof
154 / 154 / 10
Регистрация: 03.11.2010
Сообщений: 393
07.12.2011, 08:43     Проверка на Int #2
вот один из способов:
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
#include <iostream>
using namespace std;
 
int main() {
    int sought;
 
    //Проверка ввода искомого целого числа
    while ( true ) {
        cout << "Введите целое чило: ";
        cin >> sought;
        if ( cin.peek() == '\n' ) { //если ввели целое число, значит в буфере осталось  только /n
            cin.get(); //очистить от /n
            break; //выйти из цикла
        } else { //если в буфере осталось не только /n
            cout << "Ожидается целое число! Повторите ввод!" << endl;
            cin.clear(); //сброс всех ошибок потока
            while ( cin.get() != '\n' ) { //извлечь из буфера все символы включая /n
            }
        }
    }
 
    cout << "Теперь все верно" << endl;
 
    return 0;
}
Ответ Создать тему
Опции темы

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