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

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

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

Проверка введенного значения. Является ли оно числовым - C++

26.05.2014, 00:10. Просмотров 273. Ответов 5
Метки нет (Все метки)

Если цифры в числе идут в порядке возрастания, то проверка успешна, если же в порядке убывания, то появляется ошибка
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
bool is_int(string a)
{
    int i = 0, fl = 0, l = 0;
    char t;
    l = a.length();
    for (i = 0; i < l; i++)
    {
        for (t = '0'; t <= '9'; t++)
        {
            if (a.find(t, i) != a.npos) break;
            }
        
    }
    if (fl == 0)
        return true;
    if (fl == 1)
        return false;
}
Как это исправить?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.05.2014, 00:10
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Проверка введенного значения. Является ли оно числовым (C++):

проверка введенного значения - C++
Подскажите пожалуйста, хочу реализовать проверку на введенное значение, заметил если получаемой переменной с консоли ставить тип int то при...

Для четного введенного числа определить, делится ли оно на 10, для нечетного - делится ли оно на 5 - C++
вечер добрый,помогите с програмкой на с++ условие:с клавиатуры вводиться целое число,для четного числа определяется делится ли оно на...

Проверить, является ли целое число трёхзначным, является ли оно квадратом - C++
помогите пожалуйста новичку 1) Введите целое число и проверьте, является ли оно трехзначным. 2) Введите целое число и проверьте,...

Дано натуральное число n. Определите, является ли оно степенью числа 2, и если является, то выведите значение этой степени - C++
Дано натуральное число n. Определите, является ли оно степенью числа 2, и если является, то выведите значение этой степени.

While4°. Дано целое число N (> 0). Если оно является степенью числа 3, то вывести true, если не является — вывести false. - C++
While. Дано целое число N (&gt; 0). Если оно является степенью числа 3, то вывести true, если не является — вывести false.

Дано целое число N(>0). Если оно является степенью числа 3, то вывести TRUE, если не является-вывести FALSE. - C++
Дано целое число N(&gt;0). Если оно является степенью числа 3, то вывести TRUE, если не является-вывести FALSE. Я не могу записать её с...

5
alsav22
5421 / 4816 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
26.05.2014, 06:30 #2
cctype().
0
EdDo
0 / 0 / 0
Регистрация: 26.05.2013
Сообщений: 15
26.05.2014, 10:18  [ТС] #3
Что имеется в виду?
0
alsav22
5421 / 4816 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
26.05.2014, 10:45 #4
http://www.cplusplus.com/reference/cctype/?kw=cctype
0
DiffEreD
1430 / 767 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
26.05.2014, 11:04 #5
Я бы так делал:
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
36
37
38
39
#include <iostream>
#include <string>
#include <algorithm>
#include <limits>
 
bool is_int(const std::string& val) {
   if (!std::all_of(val.begin()+1, val.end(), isdigit) ||
       std::numeric_limits<int>::digits10 + 1 < val.size())
      return false;
   try {
      std::stoi(val);
      return true;
   }
   catch(std::invalid_argument& e) {
      std::cerr << e.what() << " ";
      return false;
   }
   catch(std::out_of_range& e) {
      std::cerr << e.what() << " ";
      return false;
   }
}
 
int main()
{
   std::cout << "Max int is: " << std::numeric_limits<int>::max() << "\n";
   std::cout << "Min int is: " << std::numeric_limits<int>::min() << "\n";
 
   std::cout << std::boolalpha;
   std::cout << is_int("123") << "\n";
   std::cout << is_int("123456") << "\n";
   std::cout << is_int("123456789") << "\n";
   std::cout << is_int("-123456") << "\n";
   std::cout << is_int("1234567891011") << "\n";
   std::cout << is_int("---123456") << "\n";
   std::cout << is_int("123gdfg456") << "\n";
 
   return 0;
}
0
EdDo
0 / 0 / 0
Регистрация: 26.05.2013
Сообщений: 15
27.05.2014, 20:03  [ТС] #6
Cпасибо
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.05.2014, 20:03
Привет! Вот еще темы с ответами:

По заданному числу N определить, является ли оно целым - C++
Здравствуйте. Помогите решить задачу. По заданному числу N определить является ли оно целым. Если заданное число является целым,то в...

Проверка введенного текста на правильность - C++
Здравствуйте, Каким образом можно реализовать проверку введенного текста, пользователем с консоли, на правильность. Например юзер вводит...

Проверка допустимости введенного числа - C++
Помогите сделать числовой парсинг в котором пользователь вводит число , должна производится проверка допустимого числа.Если число быот...

Проверка введенного числа на чётность - C++
Написать программу, которая проверяет, является ли введенное пользователем целое число четным. Хэлп ми плз )


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

Или воспользуйтесь поиском по форуму:
6
Yandex
Объявления
27.05.2014, 20:03
Ответ Создать тему
Опции темы

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