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

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

Войти
Регистрация
Восстановить пароль
 
Delanoro
0 / 0 / 0
Регистрация: 18.01.2011
Сообщений: 4
#1

Ввод символа в переменную типа INT - C++

14.02.2011, 17:38. Просмотров 937. Ответов 3
Метки нет (Все метки)

Доброго времени суток.

Подскажите самый эффективный способ борьбы с неверным вводом данных пользователем. А именно когда пользователя просят ввести число типа INT? а он вводит символ CHAR.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.02.2011, 17:38     Ввод символа в переменную типа INT
Посмотрите здесь:
C++ Поместить двоичный код, в веденной строке, в переменную типа int и unsigned int.
C++ Распознать строку в переменную типа int
Как передать в stringstream переменную типа int? C++
Можно ли в С++ сгенерить масив разерома в переменную типа int? C++
C++ Наибольшее число, которое можно записать в переменную типа int
C++ Считать массив байт в переменную типа int в обратном порядке
Функция по переводу любой строки состоящей из цифр в переменную типа int C++
C++ Надо перевести переменную типа unsigned char* в signed int и обратно
C++ Ввод символов в переменную типа char
C++ Как разрешить ввод только чисел типа int?
Защита от дурака. Ввод данных типа int с клавиатуры. C++
Ввод значения в переменную типа string, память под которую выделена динамически C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
bobrovskii
58 / 58 / 3
Регистрация: 22.01.2011
Сообщений: 187
14.02.2011, 17:44     Ввод символа в переменную типа INT #2
Delanoro,
C
1
if (c < '0' && c > '9') error;
в цикле проверяеш строку.
asics
Freelance
Эксперт C++
2846 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
14.02.2011, 18:08     Ввод символа в переменную типа INT #3
Delanoro,
C++
1
2
3
4
int n;
std::cin >> n;
if( !std::cin )
  //Error
Mr.X
Эксперт С++
3042 / 1687 / 265
Регистрация: 03.05.2010
Сообщений: 3,867
14.02.2011, 18:26     Ввод символа в переменную типа INT #4
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
26
27
28
29
30
31
32
33
34
35
//////////////////////////////////////////////////////////////////////////////////////
#include <iostream>
#include <sstream>
#include <string>
//////////////////////////////////////////////////////////////////////////////////////
typedef std::string  T_str;
//////////////////////////////////////////////////////////////////////////////////////
template<class T>
void  input(const T_str&  prompt, T&  t)
{
    for(;;)
    {        
        std::cout << prompt;
        T_str  s;
        getline(std::cin, s);
        std::istringstream  ssin(s);
        char  c;
        if(   ssin >> t
           && !(ssin >> c))
        {
            break;
        }
    }
}
//////////////////////////////////////////////////////////////////////////////////////
int main()
{
    std::locale::global(std::locale(""));
 
    int  i;
    input("Введите целое число: ", i);
    std::cout << "i = "
              << i
              << std::endl;
}
Yandex
Объявления
14.02.2011, 18:26     Ввод символа в переменную типа INT
Ответ Создать тему
Опции темы

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