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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
J_I
0 / 0 / 0
Регистрация: 21.02.2013
Сообщений: 9
#1

Написать программу хранения целочисленного, либо вещественного типа данных в переменной - C++

08.05.2013, 18:38. Просмотров 539. Ответов 3
Метки нет (Все метки)

Написать программу хранения
целочисленного, либо вещественного типа данных в переменной.
Выдаёт ошибку 'struct tag_var' has no member named 'value'. Что исправить?

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
#include <iostream.h>
#include <stdio.h>
struct tag_var{
       union tag_value;
       short type_var;
       };
   union tag_value
   { int var_i;
     float var_f;
     };
 int main()
 { struct tag_var var[2];
  var[0].type_var=0;
  var[0].value.var_i=10;
  var[1].type_var=1;
  var[1].value.var_f=4,6;
  for (int i; i<2; i++)
     { switch (var[i].type_var)
     { case 0: printf("var=%d\n", var[i].value.var_i); break;
       case 1: printf("var=%f\n", var[i].value.var_f); break;
       default: printf("Значение переменной не определено \n");
       }
       }
       return 0;
       }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.05.2013, 18:38
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Написать программу хранения целочисленного, либо вещественного типа данных в переменной (C++):

Структуры данных. Написать программу, позволяющую определить, есть ли в школе в каких-либо классах однофамильцы - C++
Написать программу, позволяющую определить, есть ли в школе в каких-либо классах однофамильцы. Данные об ученике идут в следующем порядке:...

Написать функцию вещественного типа, находящую максимальное из трех вещественных чисел - C++
Написать функцию Max3(A,B,C) вещественного типа, находящую максимальное из трех вещественных чисел A, B и C. С помощью этой функции найти...

При изменении каких либо данных программа либо вылетает, либо просто не изменяет данные - C++
Добрый вечер. Только недавно начал заниматься С++. И вот возникли проблемы. При изменении каких либо данных. Программа либо вылетает(Qt),...

Хранение типа данных в переменной - C++
Написать программу хранения целочисленного, либо вещественного типа данных в переменной

Написать программу для последовательного хранения трех стеков в массиве из N элементов - C++
Написать программу для последовательного хранения трех стекiв в массиве из N элементов (стеки размещаются в массиве равномерно друг за...

Написать программу, которая включает после каждого отрицательного элемента целочисленного массива его модуль - C++
Написать программу, которая включает после каждого отрицательного элемента целочисленного массива его модуль в какой программе писать,...

3
lemegeton
2925 / 1354 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
08.05.2013, 18:42 #2
Цитата Сообщение от J_I Посмотреть сообщение
Что исправить?
Программу.

У вас нет объявления идентификатора с именем value.
Что вы имеете в виду, обращаясь к нему?
0
J_I
0 / 0 / 0
Регистрация: 21.02.2013
Сообщений: 9
08.05.2013, 18:49  [ТС] #3
я немного не понимаю эту часть. Её я переписывала из методички. Сама хочу разобраться. Куда будет правильно впихнуть её объявление? И зачем она тут вообще нужна
0
lemegeton
2925 / 1354 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
08.05.2013, 20:06 #4
Цитата Сообщение от J_I Посмотреть сообщение
Куда будет правильно впихнуть её объявление? И зачем она тут вообще нужна
Я вообще без понятия. Код -- слабо вменяемый бред. Нет, конечно, заставить компилироваться можно, но надо бы знать, что должно получиться-то в итоге?!

Цитата Сообщение от J_I Посмотреть сообщение
Написать программу хранения
целочисленного, либо вещественного типа данных в переменной.
Задание странное. Нужен тип данных, способный хранить либо одно либо другое на основе union?

Добавлено через 10 минут
Видимо, вам как-то так надо.
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#include <iostream>
 
enum DataType {
  DATA_TYPE_DOUBLE,
  DATA_TYPE_INTEGER
};
 
union DoubleOrInteger {
  double doubleValue;
  int integerValue;
};
 
struct DoubleOrIntegerVariable {
  union DoubleOrInteger value;
  DataType valueType;
};
 
int main(int argc, char *argv[]) {
  DoubleOrIntegerVariable v;
  
  // или вот так для интеджера
  v.valueType = DATA_TYPE_INTEGER;
  v.value.integerValue = 3;
 
  // вот так для дабла
  v.valueType = DATA_TYPE_DOUBLE;
  v.value.doubleValue = 1.25;
  
  // использовать как-то так, с проверкой
  switch (v.valueType) {
    case DATA_TYPE_DOUBLE:
      std::cout << "Double: " << v.value.doubleValue << std::endl;
      break;
    case DATA_TYPE_INTEGER:
      std::cout << "Integer: " << v.value.integerValue << std::endl;
      break;
    default:
      std::cout << "Unknown data type." << std::endl;
      break;
  };
}
0
08.05.2013, 20:06
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.05.2013, 20:06
Привет! Вот еще темы с ответами:

Программа с объединением, место целочисленного или вещественного числа,выдает постоянно одну и ту же цифру - C++
Программа с объединением, место целочисленного или вещественного числа,выдает постоянно одну и ту же цифру.. И ещё, помогите пожалуйста её...

Битовые операции. Написать программу для хранения в битовом поле информации о конфигурации компьютера. - C++
1. Написать программу для хранения в битовом поле информации о конфигурации компьютера. Например: Корпус AT – 0, ATX – 1; Видео на борту –...

Написать программу, в которой объединение используется для хранения информации об одной из геометрических фигур - C++
НАРОООООД!!!!Выручьте!!!! &quot;сделать на Borland C++ под DOS или Microsoft Visual C++ консольное приложение (Win 32 Console Application). ...

Написать функцию, меняющую в переменной типа char местами биты с номерами n и n+1 - C++
Написать функцию, меняющую в переменной типа char местами биты с номерами n и n+1 n вводится с клавиатуры Помогите, пожалуйста!


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

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

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