Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.10.2009, 00:17   #1
BaSoff
Пользователь
 
Регистрация: 29.10.2009
Сообщений: 12
Смущение digit - это реально ?

Здравствуйте... я тут первый раз пишусь, так что не судите строго... и так мне нужно используя стек, построенный на основе связанного списка, написать программу, вычисляющую арифметические выражения (с операциями *,/,+,-) для чисел в постфиксной форме записи...

так вот и сам вопрос... во вхоном файле у меня будут лежать подряд числа и ариф. выражения... в стек я должен закинуть только числа... подскажите... есть ли такая ф-ия или метод, который проверяет является ли переменная числом или цифрой ?

мой препод зарекался насчет digit... я так и не понял что это ...
BaSoff вне форума Ответить с цитированием
Старый 30.10.2009, 00:28   #2
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

Ну, смысл переменной Вы определяете ещё на стадии написании программы)
А чтобы проверить, является ли символ цифрой, действительно можно использовать функцию isdigit().
Код:
char c = '4';
isdigit(c); // вернёт TRUE
c = 'd';
isdigit(c); // вернёт FALSE
netrino вне форума Ответить с цитированием
Старый 30.10.2009, 00:31   #3
NiCola999
Не
Участник клуба
 
Регистрация: 29.10.2009
Сообщений: 1,456
По умолчанию

Код:
bool is_digit(int num)
{
      if(num<10)
           return true;
      else
           return false;
}
=)
NiCola999 вне форума Ответить с цитированием
Старый 30.10.2009, 00:31   #4
BaSoff
Пользователь
 
Регистрация: 29.10.2009
Сообщений: 12
По умолчанию

Спасибо большое...)
BaSoff вне форума Ответить с цитированием
Старый 30.10.2009, 17:26   #5
mYziK
Пользователь
 
Регистрация: 18.09.2009
Сообщений: 38
По умолчанию

Цитата:
bool is_digit(int num)
{
if(num<10)
return true;
else
return false;
}
А разве не так?

Код:
bool is_digit(char num)
{
      if(num >= '0' && num<='9')
           return true;
      else
           return false;
}
mYziK вне форума Ответить с цитированием
Старый 30.10.2009, 22:15   #6
NiCola999
Не
Участник клуба
 
Регистрация: 29.10.2009
Сообщений: 1,456
По умолчанию

ты сравниваешь коды символов у '0' например код 48
если нужно проверять символы то можно так
Код:
( n >= 48 && n <= 57 )  ? return true : return false;

Последний раз редактировалось NiCola999; 30.10.2009 в 22:18.
NiCola999 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
АВТОФОРМАТ ячеек это РЕАЛЬНО? Alex___ Microsoft Office Excel 11 21.10.2009 10:44
Это реально? liberty PHP 8 14.10.2008 11:27
Для установки второго и последующих сайтов нужно заново покупать лицензию, Это реально? liberty HTML и CSS 10 14.10.2008 10:47
Ошибка(C++): error C2041: illegal digit '9' for base '8' TheWanderer Общие вопросы C/C++ 4 02.10.2008 21:11