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

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

Войти
Регистрация
Восстановить пароль
 
NikitaQ
5 / 5 / 1
Регистрация: 10.09.2013
Сообщений: 51
#1

Union, struct - C++

31.10.2013, 00:05. Просмотров 968. Ответов 3
Метки нет (Все метки)

Здравствуйте!
Помогите, пожалуйста, решить проблему.

Есть строки:
1 2 3 4
1 2 3
...
...
* - заканчивается звездочкой

Я хочу прочитать их, причем записать данные из первой строки в структуру, например, FirstLine { double a, b , c, d}, а вторую - в структуру SecondLine {double x, y, z}, используя union.
Естественно, строчек не две, а больше, поэтому я создаю массив.
Я делаю так:


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
#define maxLines 15
#include <iostream>
using namespace std;
 
void main() {
 
union Example{
    struct FirstLine {
        double a, b, c, d;
    } First;
 
    struct SecondLine {
        double x, y, z;
    } Second;
};
Example examples[maxLines];
char id; //символ
 
 while (1) {
        std::cin >> id;
        if(id == '*')
            break;
 
// И тут я должен считать эти строчки, но как? Как сделать так, 
// чтобы данные из первой строки попали в первую структуру, а из второй - во вторую?
// И как вывести их на экран потом?
..
}
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.10.2013, 00:05
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Union, struct (C++):

Union внутри struct - C++
Добрый вечер! Мне нужно создать структуру с вариантной частью. Не получается получить доступ к полям структуры, находящихся внутри...

Количество памяти на union и struct - C++
struct MyStruct{ int i; char j; }; union Packed{ int i; char j; }; int _tmain(int argc, _TCHAR* argv) {

В чем отличия между union и struct? - C++
Здравствуйте! Вопрос в названии темы

std::bind1st: is not a class, struct, or union type - C++
Добрый день, пытаюсь найти элемент в списки указателей на объекты классачерез предикат. Вот упрощенный пример: #include &lt;algorithm&gt; ...

Не могу исправить error C2228: left of '.isWorked' must have class/struct/union - C++
Добрый день. Есть два взаимодружественных класса.Методом одного, меняю поля другого. Вот код: class Alarm; //класс сигнализации ...

error C2228: left of '.add' must have class/struct/union type. в чем ошибка? - C++
Помогите понять в чем ошибка. Пасиб. #include &lt;iostream.h&gt; class book { private: char name_book; char name_avtor; ...

3
Jupiter
Каратель
Эксперт С++
6556 / 3977 / 227
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
31.10.2013, 00:26 #2
Цитата Сообщение от NikitaQ Посмотреть сообщение
// И тут я должен считать эти строчки, но как? Как сделать так,
// чтобы данные из первой строки попали в первую структуру, а из второй - во вторую?
читаешь строку и на основании количества чисел в этой строке определяешь в какую строку писать, хотя так как используется юнион пофигу в какую структуру писать, главное различать когда есть 4-е число, а когда его нет

Добавлено через 1 минуту
Цитата Сообщение от NikitaQ Посмотреть сообщение
// И как вывести их на экран потом?
так и вывести, единственное что ты не будешь знать где какая структура, потому юнионы не лучшее решение этой задачи
1
NikitaQ
5 / 5 / 1
Регистрация: 10.09.2013
Сообщений: 51
31.10.2013, 00:34  [ТС] #3
Спасибо!
Цитата Сообщение от Jupiter Посмотреть сообщение
Добавлено через 1 минуту

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

Вот еще вопрос - можно ли как-то печатать структуру короче, не перечисляя каждый ее элемент в cout?
0
Jupiter
Каратель
Эксперт С++
6556 / 3977 / 227
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
31.10.2013, 00:36 #4
Цитата Сообщение от NikitaQ Посмотреть сообщение
Вот еще вопрос - можно ли как-то печатать структуру короче, не перечисляя каждый ее элемент в cout?
не-а
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.10.2013, 00:36
Привет! Вот еще темы с ответами:

Ошибка компиляции "must have class/struct/union" - C++
Здравствуйте. Возникают ошибки: Error 4 error C2228: left of '.dwFileAttributes' must have class/struct/union Error 3 error...

При компиляции ошибка: C2228: left of ".real",".imag" must have struct/class/union - C++
Помогите, пожалуйста! Компилирую в VS2010... Ошибка: C2228: left of &quot;.real&quot;,&quot;.imag&quot; must have struct/class/union... Почему возникает эта...

Union - C++
Человеки привет =) Скажите пожалуйста для чего используются union в С++?

Union - C++
Возник вопрос про объединения. В книгах я встречал лишь случай, когда размер одного из полей больше или равен сумме размеров остальных....


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

Или воспользуйтесь поиском по форуму:
4
Yandex
Объявления
31.10.2013, 00:36
Ответ Создать тему
Опции темы

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