Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/326: Рейтинг темы: голосов - 326, средняя оценка - 4.67
10 / 10 / 2
Регистрация: 01.02.2010
Сообщений: 317
1

Как определить тип переменной?

22.03.2010, 13:16. Просмотров 61073. Ответов 5
Метки нет (Все метки)

isdigit тока нашел.
а как узнать char или int или есть типа is_array?

конечно можно все реализовать на перегрузке функции но лучшеб встроенные функции.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.03.2010, 13:16
Ответы с готовыми решениями:

Определить тип переменной. Динамический анализ
Заранее прошу прощения если что то сделаю не так, это мое первое сообщение Мне нужно определить...

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

Определить тип передаваемой в функцию переменной
Добрый день! Подскажите как правильно объявить переменную elem, которая передаётся в функцию....

Как узнать тип переменной?
Здравствуйте! Не давно начал заниматься изучением языка С++, и возник вопрос. Как узнать узнать...

5
3074 / 2395 / 255
Регистрация: 11.03.2009
Сообщений: 5,444
22.03.2010, 14:13 2
isdigit работает с char, а в остальном вопрос не очень понятен.
0
2807 / 1398 / 107
Регистрация: 07.03.2009
Сообщений: 4,446
22.03.2010, 14:44 3
isdigit() - это не то, что ты ищешь.

Чтобы узнать тип, обычно используется typeid()
не знаю зачем тебе это понадобилос, но советую избегать таких констуркций - они применяются крайне редко.. и с++ довольно так гибок, чтоб избежать их применение в большинстве случаев.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <typeinfo>
using namespace std;
 
class MyClass {};
 
int main()
{
    int t = 5;
    MyClass c;
    
    cout << typeid(t).name() << endl;
    cout << typeid(c).name() << endl;
    
    return 0;
}
3
10 / 10 / 2
Регистрация: 01.02.2010
Сообщений: 317
22.03.2010, 20:52  [ТС] 4
например
char a[100];
cin >>a;
буквы или цифры ввел юзер и мож вообще спецсимволы..
0
372 / 286 / 97
Регистрация: 17.12.2009
Сообщений: 567
23.03.2010, 01:29 5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
bool characters=true;
int i=0;
while (a[i])
{
     if (!isalpha(a[i++])) characters=false;
}
if (characters) cout << "Digets enterd\n";
bool digits=true;
int i=0;
while (a[i])
{
     if (!isdigit(a[i++])) digits=false;
}
if (digits) cout << "Char enterd\n";
//а можно еще так
bool special=true;
int i=0;
while (a[i])
{
     if (!isalpha("~`!@#$%^&*()':;/?.>,<{[}]|\"",a[i++])) special=false;
}
if (special) cout << "Special symblols enterd\n";
0
Evg
Эксперт CАвтор FAQ
21130 / 8146 / 628
Регистрация: 30.03.2009
Сообщений: 22,460
Записей в блоге: 30
23.03.2010, 13:04 6
Цитата Сообщение от Krist_ALL Посмотреть сообщение
например
char a[100];
cin >>a;
буквы или цифры ввел юзер и мож вообще спецсимволы..
У тебя переменная a всегда имеет тип "массив char'ов". Независимо от того, что ввёл пользователь (ибо это уже содержимое массива, но никак не его тип). Единственный способ узнать, что тебе ввёл пользователь - побайтно проанализировать введёную строку. Ты лучше более конкретно вопрос задай: чего ты в конечном итоге хочешь?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.03.2010, 13:04

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Как вывести тип переменной?
Необходимо, чтобы функция возвращала тип переменной. т.е. typename function(type) { ...

Восьмибитный тип переменной (что за тип, но не BYTE и не CHAR?
Вроде давно занимаюсь программированием на С++, но встала проблема... Есть некий массив переменных...

Как вернуть тип переменной и любого другого элемента программы?
Есть такой примитивный код. #include &quot;stdafx.h&quot;//должна быть в начале #include &lt;conio.h&gt;...

Как определить тип данных?
Как определить тип данных переменной?


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

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

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