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

Структуры (Что-то вроде базы данных по бытовой технике) - C++

Восстановить пароль Регистрация
 
user20011993
9 / 9 / 0
Регистрация: 19.10.2012
Сообщений: 360
29.12.2012, 19:32     Структуры (Что-то вроде базы данных по бытовой технике) #1
Всем доброго времени суток.
Дали нам задачу по работе со struct. Мне нужно реализовать что то вроде базы данных по бытовой технике. В эту структуру нужно будет добавлять, удалять, отпечатывать в консоли элементы. Саму структуру вроде сделал, вот она :

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
void main()
{
struct household_technician
{
        char manufacturer[10], color[10];
        float weight, heigth, cost, voltage;
        int warranty;
    
        union 
        {
        struct TV
        {
            int fps;
            float diagonal;
            char type[10];
        };
        struct mw_oven
        {
            float size, frequency;
            char control_panel_type[50];
        };
        struct vacuum_cleaner
        {
            char cleaner_type[50];
            int suction;
            float length_of_cord, length_of_hose;
        };
        struct refrigerator
        {
            int number_of_freezers, number_of_motors;
            float size;
 
        };
        };
    };
А теперь проблема: я не могу обращаться к полям структур.
Подскажите пожалуйста что не правильно. Заранее спасибо=)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.12.2012, 19:32     Структуры (Что-то вроде базы данных по бытовой технике)
Посмотрите здесь:

что то вроде программки,которая проверяет Hosts и лечит C++
Что-то вроде базы данных C++
C++ что из данных брать за структуры
Структуры и базы данных C++
C++ что-то вроде события в консоли
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Tiva
94 / 94 / 1
Регистрация: 25.04.2012
Сообщений: 429
29.12.2012, 19:50     Структуры (Что-то вроде базы данных по бытовой технике) #2
точки с запятой после каждого метода(функции) внутри структуры убери

Добавлено через 21 секунду
и объявлять структуру надо ДО мейна.
после мейна точка с запятой не ставится
user20011993
9 / 9 / 0
Регистрация: 19.10.2012
Сообщений: 360
29.12.2012, 20:08  [ТС]     Структуры (Что-то вроде базы данных по бытовой технике) #3
если убираю какие либо точки с запятой внутри структуры-студия ругается.
когда пытаюсь обратиться к структуре tv в main(), то студия выделяет tv цветом, таким же, как и в структуре, но обратиться его полям не могу(если я правильно понял, то обращаться так: TV.fps). как вообще надо обращаться к полям структуры? и такой вопрос: здесь вроде в основной структуре описаны общие для все присоединенных структур поля. как их можно будет использовать поля char manufacturer[10], color[10];
float weight, heigth, cost, voltage;
int warranty;
для TV(например)
UserAK
70 / 70 / 4
Регистрация: 25.12.2012
Сообщений: 189
Записей в блоге: 2
29.12.2012, 23:31     Структуры (Что-то вроде базы данных по бытовой технике) #4
вот решил немного прокомментировать
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
42
43
44
45
46
47
48
49
50
51
52
53
struct strcut_household_technician //определение пользовательского типа данных
{
    //определения членов структуры
    char manufacturer[10], color[10];
    float weight, heigth, cost, voltage;
    int warranty;
    
    union { // объединение - переменные, определённые в пределах объединения, будут храниться в одном блоке памяти
            // и как бы накладываться друг на друга
        
        struct struct_TV {      // определение пользовательского типа данных в пределах strcut_household_technician
            int fps;
            float diagonal;
            char type[10];
        } TV;   // TV это определение переменной-члена структуры strcut_household_technician типа struct_TV
                // в программе это имя будет доступно через селектор членов класса .(точка) или ->(стрелка)
        struct struct_mw_oven { // то же самое 
            float size, frequency;
            char control_panel_type[50];
        } mv_oven;
        struct vacuum_cleaner { // то же самое
            char cleaner_type[50];
            int suction;
            float length_of_cord, length_of_hose;
        } vacuum_cleaner;
        struct refrigerator { // то же самое
            int number_of_freezers, number_of_motors;
            float size;
        } refrigerator;
    };
};
 
void main()
{
    // создаём переменную типа strcut_household_technician на стеке
    strcut_household_technician hht;
    // обращаемся к её полям с помощью точки
    hht.weight = 5;
    hht.TV.diagonal = 21;
 
    // или создаём переменную в динамической памяти 
    // оператор new - выделяет блок памяти, достаточный для хранения нашей структуры,
    // и возвращает в переменную ptrhht указатель на него)
    strcut_household_technician *ptrhht = new strcut_household_technician();
    // обращаемся к её полям уже через стрелку
    ptrhht->weight = 5;
    // а к полю "вложенной" структуры через точку
    ptrhht->TV.diagonal = 21;
 
    //переменные для которых память была выделена с помощью оператора new,
    //если они больше не нужны, надо удалять и освобождать память
    delete ptrhht;
}
user20011993
9 / 9 / 0
Регистрация: 19.10.2012
Сообщений: 360
30.12.2012, 09:36  [ТС]     Структуры (Что-то вроде базы данных по бытовой технике) #5
Спасибо огромное) теперь все понятно)
Yandex
Объявления
30.12.2012, 09:36     Структуры (Что-то вроде базы данных по бытовой технике)
Ответ Создать тему
Опции темы

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