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

Хранение типа данных в переменной - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Написать программу удаления книги из массива структур с введенным именем автора http://www.cyberforum.ru/cpp-beginners/thread537545.html
Написать программу удаления книги из массива структур с введенным именем автора
C++ Написать программу ввода информации по сотруднику (Ф.И.О.,возраст,должность, кафедра) Написать программу ввода информации по сотруднику (Ф.И.О.,возраст,должность, кафедра) http://www.cyberforum.ru/cpp-beginners/thread537544.html
Не выводит результат C++
Здравствуйте! Начал изучать данный язык программирования, написал следующую коротенькую программу: #include <iostream.h> #include <conio.h> main() { int a=2, b=5; cout<<endl<<"Сумма"<<(a+b)<<endl<<"Разность"<<(a-b); getch() return 0; }
С помощью рекурсивной функции осуществить вывод на экран элементов одномерного массива C++
С помощью рекурсивной функции осуществить вывод на экран элементов одномерного массива
C++ Используя перегрузку функций, написать программу определения максимального значения элемента массива разного типа http://www.cyberforum.ru/cpp-beginners/thread537538.html
Используя перегрузку функций, написать программу определения максимального значения элемента массива разного типа
C++ Написать функцию вычисления объема параллелепипеда Написать функцию вычисления объема параллелепипеда подробнее

Показать сообщение отдельно
Kuzia domovenok
1890 / 1745 / 118
Регистрация: 25.03.2012
Сообщений: 5,924
Записей в блоге: 1
03.04.2012, 14:16     Хранение типа данных в переменной
на Си? в одной и той же переменной?
ээ не уверен, что это вам надо, нужно.

C
1
2
3
4
5
6
7
8
9
10
11
12
13
union intorreal{
int i;
float f;
}test;
int main(){
std::cout<<"enter real";
std::cin>>test.f;
std::cout<<"real is"<<test.f;
std::cout<<"enter int";
std::cin>>test.i;
std::cout<<"int is"<<test.i;
return 0;
}
или же
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#define RTYPE 1
#define ITYPE 0
 
struct intorreal{
void* data;
int type;
int size;
}test;
void print(struct intorreal t){
if (test.type==RTYPE) cout<<*((float*)test.data);
if (test.type==ITYPE) cout<<*((int*)test.data);
}
int main(){
test.size=(sizeof(int)>sizeof(float))?sizeof(int):sizeof(float);
test.data=malloc(test.size);
 
std::cout<<"enter real";
std::cin>>*((float*)test.data);
test.type=RTYPE;
std::cout<<"real is"<<*((float*)test.data);
std::cout<<"enter int";
std::cin>>*((int*)test.data);
test.type=ITYPE;
std::cout<<"int is"<<*((int*)test.data);
free(test.data);
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru