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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 4.59
half-node
21 / 18 / 3
Регистрация: 12.08.2010
Сообщений: 206
#1

Проверка символов в строке - C++

20.08.2010, 23:58. Просмотров 2129. Ответов 11
Метки нет (Все метки)

Привет! Подскажите, пожалуйста, какой функцией можно проверить массив char на символы?
Я имею в виду: мне нужно выбрать из введенных пользователем символов только цифры. Я не знаю какой функцией это можно сделать.
Очень прошу не пишите решение Мне самому край как интересно...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.08.2010, 23:58     Проверка символов в строке
Посмотрите здесь:

Проверка символов и чисел C++
Проверка наличия символов в строке C++
C++ Проверка вводимых символов
C++ Дана строка символов, пользователь вводит комбинацию символов проверить сколько раз встечается эта комбинация в строке.
C++ Проверка вводимых символов
C++ Найти количество символов всех строк файла и количество символов в определенной строке
В строке символов установить пробелы вместо символов,номера позиций которых при делении на 6 дают в остатке 3 C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
neske
1466 / 833 / 69
Регистрация: 26.03.2010
Сообщений: 2,839
21.08.2010, 00:01     Проверка символов в строке #2
Можновоспользоваться функцией isdigit.
half-node
21 / 18 / 3
Регистрация: 12.08.2010
Сообщений: 206
21.08.2010, 00:03  [ТС]     Проверка символов в строке #3
Цитата Сообщение от neske Посмотреть сообщение
Можновоспользоваться функцией isdigit.
Корректировка: кроме цифр нужно будет выцепить еще точку. Посему Вами предложенная функция, увы не подходит.
neske
1466 / 833 / 69
Регистрация: 26.03.2010
Сообщений: 2,839
21.08.2010, 00:03     Проверка символов в строке #4
Воспользоваться алгоритмом std::find_if, но как я помню, STL вы еще не трогали
alex_x_x
бжни
2445 / 1650 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
21.08.2010, 00:06     Проверка символов в строке #5
Цитата Сообщение от half-node Посмотреть сообщение
Корректировка: кроме цифр нужно будет выцепить еще точку. Посему Вами предложенная функция, увы не подходит.
C
1
2
3
4
5
for( int i=0;i<n;++i ){
  if( isdigit(str[i]) || '.' == str[i] ){
    ..
  }
}
а в чем проблема?
half-node
21 / 18 / 3
Регистрация: 12.08.2010
Сообщений: 206
21.08.2010, 00:08  [ТС]     Проверка символов в строке #6
Верное замечание )) Следовательно ,есть у cstring какие-то еще секреты ))

Добавлено через 1 минуту
Кстати, очень хотелось бы знать. Есть ли какие-нибудь, желательно русскоязычные ресурсы, где можно почитать о подключаемых библиотеках, какие функции в них имеются и что делают. Или как это вообще можно узнать?
neske
1466 / 833 / 69
Регистрация: 26.03.2010
Сообщений: 2,839
21.08.2010, 00:08     Проверка символов в строке #7
alex_x_x, а не лучше сравнивать с помощью функции strcmp?
half-node
21 / 18 / 3
Регистрация: 12.08.2010
Сообщений: 206
21.08.2010, 00:09  [ТС]     Проверка символов в строке #8
Цитата Сообщение от alex_x_x Посмотреть сообщение
C
1
2
3
4
5
for( int i=0;i<n;++i ){
  if( isdigit(str[i]) || '.' == str[i] ){
    ..
  }
}
а в чем проблема?
Да...действительно, спасибо!
alex_x_x
бжни
2445 / 1650 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
21.08.2010, 00:10     Проверка символов в строке #9
Цитата Сообщение от neske Посмотреть сообщение
alex_x_x, а не лучше сравнивать с помощью функции strcmp?
а каким образом? я с условием не очень представляю
half-node
21 / 18 / 3
Регистрация: 12.08.2010
Сообщений: 206
21.08.2010, 03:26  [ТС]     Проверка символов в строке #10
По поводу информации о функциях, не подскажете?
ForEveR
Модератор
Эксперт С++
7958 / 4720 / 319
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
21.08.2010, 03:40     Проверка символов в строке #11
half-node, Книги. Практика.
Тут можно почитать вцелом
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.08.2010, 07:33     Проверка символов в строке
Еще ссылки по теме:

C++ Проверка русских символов в строке
Текст, состоящий не более чем из 255 символов, разбить на строки длиной не более 50 символов в строке C++
C++ Проверка ввода символов
C++ Проверка на количество определенных символов в строке
C++ В строке символов найти максимальную подпоследовательность символов, являющуюся палиндромом

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

Или воспользуйтесь поиском по форуму:
Nameless One
Эксперт С++
5767 / 3416 / 255
Регистрация: 08.02.2010
Сообщений: 7,441
21.08.2010, 07:33     Проверка символов в строке #12

Не по теме:

Цитата Сообщение от neske Посмотреть сообщение
alex_x_x, а не лучше сравнивать с помощью функции strcmp?
Функция strcmp сравнивает две строки, а у alex_x_x сравниваются два символа.


Еще можно воспользоваться регулярными выражениями. Потому как при проверке, которую предложил alex_x_x не учитывается то, что точка может встречаться только одна, причем не на первом месте в выражении (если, конечно, не разрешена запись дробных чисел в виде: .15), может также встречаться символ '-' для отрицательных чисел, причем он должен быть первым и единственным символом, число не может начинаться с нуля (кроме случаев, когда целая часть числа равна 0) и т.д.
Yandex
Объявления
21.08.2010, 07:33     Проверка символов в строке
Ответ Создать тему
Опции темы

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