Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.94/34: Рейтинг темы: голосов - 34, средняя оценка - 4.94
145 / 100 / 6
Регистрация: 11.03.2010
Сообщений: 477
1

isdigit

21.05.2012, 14:04. Показов 6899. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Возник вопрос по фукции isdigit

в описании написано

C++
1
int isdigit(int c);
и выходит что в функцию нужно подставить число(int) что бы она провериа, а число ли это ?

ну и собственно если я пишу выражение типа

C++
1
2
3
4
5
6
7
8
AnsiString string,text;
text = "sd9999sd";
string = "";
for (int i = 0; i < text.Length(); i++) {
     if (isdigit(text.SubString(i,1))) {  // строка с ошибкой.
      string = string + text.SubString(i,1);
     }
}
то на отмеченой строчке выдает такую ошибку:

Код
[BCC32 Error] Unit1.cpp(2453): E2342 Type mismatch in parameter '__c' (wanted 'int', got 'AnsiString')
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.05.2012, 14:04
Ответы с готовыми решениями:

isdigit()
Здравствуйте. Почему не работает isdigit() в этом примере? Пробовал разные варианты. Задача в том...

isdigit() и кириллица
При этом коде если ввести символ из кириллицы выдаст ошибку. Как от неё избавиться? int main()...

Function IsDigit()
Подскажите пожалуйста, как сделать так, чтобы я задавал число и он работал: c = int(input())...

isdigit() не понимаю
Здрасти всем! Не могу понять, почему isdigit() неверно себя ведет. Точнее абсолютно наоборот. ...

2
4043 / 2332 / 292
Регистрация: 03.02.2011
Сообщений: 5,066
Записей в блоге: 10
21.05.2012, 14:23 2
int и char - взаимозаменяемые типы, однако имеют разное логическое значение. char - это код символа в таблице.
Правильно в таком случае писать так:
C++
1
if ( isdigit( text.c_str()[i] ) ) {
2
145 / 100 / 6
Регистрация: 11.03.2010
Сообщений: 477
21.05.2012, 14:26  [ТС] 3
Цитата Сообщение от BRcr Посмотреть сообщение
int и char - взаимозаменяемые типы, однако имеют разное логическое значение. char - это код символа в таблице.
Правильно в таком случае писать так:
C++
1
if ( isdigit( text.c_str()[i] ) ) {
гениально!

спасибо!
0
21.05.2012, 14:26
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.05.2012, 14:26
Помогаю со студенческими работами здесь

Цикл с проверкой isdigit
Друзья, подскажите - есть такой код void main() { setlocale(LC_ALL, &quot;rus&quot;); int i=0; for...

Как пользоваться isdigit?
объясните, пожалуйста, как пользоваться isdigit и почему эта программа работает не верно? a =...

Массив char и isdigit()
// Задача, ввести строку, если попадется символ @ - закончить выполнение // программы. Если...

Не работает функция isdigit
Приветствую! возник такой вопрос: может ли функция isdigit() работать без создания своей функции?...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru