Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
kLASTER
0 / 0 / 1
Регистрация: 20.05.2012
Сообщений: 13
1

isdigit() не понимаю

29.11.2012, 20:26. Просмотров 975. Ответов 2
Метки нет (Все метки)

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

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
 
const int SIZE = 10;
 
int main()
{ 
  using namespace std;
  double val[SIZE];
  int i;
  for(i = 0; i < SIZE; i++)
  {
    cin >> val[i];
    if(!isdigit(val[i]))
      break;
    cout << val[i];
  }
  cout << "Bad enter!" << endl;
  
  system("PAUSE");
  return 0;
}
Заранее спасибо!
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.11.2012, 20:26
Ответы с готовыми решениями:

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

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

Ошибка функции isdigit
Почему не выводит &quot;ERROR&quot;, ведь b это буква. Или я где-то ошибся. Помогите пожалуйста. ...

Проблема с isdigit() в условии
Подскажите кто знает! В 72 строке ,в условии где isdigit использую 2 раза через ||(или) если ввожу...

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

2
0x10
2746 / 1845 / 311
Регистрация: 24.11.2012
Сообщений: 4,568
29.11.2012, 20:42 2
В документацию с такими вопросами отправлять надо. Функция используется для определения является ли символ (char) цифрой.
0
alsav22
5462 / 4857 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
29.11.2012, 20:59 3
isdigit() анализирует код символа (цифра или нет), а вы ей подсовываете число типа double.

Добавлено через 1 минуту
Если массив сделать таким, то будет работать:
C++
1
char val[SIZE];
0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.11.2012, 20:59

Не работает isdigit как задумано
int main() { setlocale(LC_ALL,&quot;Russian&quot; ); cout&lt;&lt;&quot;Введите размерность массива=&quot;;...

циклы функций isdigit, insert
никак не могу разобраться как дописать следующие функции: int isdigit(char c) { ...

Isalpha;isdigit неверное употребление функций?
Программа выводит сначала цифры,затем буквы,затем ост.символы исходной строки. Не могу...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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