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

Union, struct - C++

Восстановить пароль Регистрация
 
NikitaQ
5 / 5 / 1
Регистрация: 10.09.2013
Сообщений: 51
31.10.2013, 00:05     Union, struct #1
Здравствуйте!
Помогите, пожалуйста, решить проблему.

Есть строки:
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;
 
// И тут я должен считать эти строчки, но как? Как сделать так, 
// чтобы данные из первой строки попали в первую структуру, а из второй - во вторую?
// И как вывести их на экран потом?
..
}
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.10.2013, 00:05     Union, struct
Посмотрите здесь:

В чем отличия между union и struct? C++
Union C++
error C2228: left of '.add' must have class/struct/union type. в чем ошибка? C++
std::bind1st: is not a class, struct, or union type C++
Union C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jupiter
Каратель
Эксперт C++
6543 / 3963 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
31.10.2013, 00:26     Union, struct #2
Цитата Сообщение от NikitaQ Посмотреть сообщение
// И тут я должен считать эти строчки, но как? Как сделать так,
// чтобы данные из первой строки попали в первую структуру, а из второй - во вторую?
читаешь строку и на основании количества чисел в этой строке определяешь в какую строку писать, хотя так как используется юнион пофигу в какую структуру писать, главное различать когда есть 4-е число, а когда его нет

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

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

Вот еще вопрос - можно ли как-то печатать структуру короче, не перечисляя каждый ее элемент в cout?
Jupiter
Каратель
Эксперт C++
6543 / 3963 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
31.10.2013, 00:36     Union, struct #4
Цитата Сообщение от NikitaQ Посмотреть сообщение
Вот еще вопрос - можно ли как-то печатать структуру короче, не перечисляя каждый ее элемент в cout?
не-а
Yandex
Объявления
31.10.2013, 00:36     Union, struct
Ответ Создать тему
Опции темы

Текущее время: 17:39. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru