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

ортогональная структура инвентарной ведомости - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Двумерный массив! Вычислить сумму элементов матрицы С лежащих на побочной(обратной) диагонали http://www.cyberforum.ru/cpp-beginners/thread785039.html
Ввести два одномерных массива А и B. Вычислить массив C: Cij= Ai + Bj. Вычислить сумму элементов матрицы С лежащих на побочной(обратной) диагонали. Результат вывести на экран. Помоги написать программу плз...!!!
C++ Среднее арифметическое обыкновенных дробей Всем добрый вечер! В программировании еще нуб можно сказать. Читаю "ООП в С++" Р. Лафоре(первая книга, до этого только бейсик в школе), и все бы ничего, но одно упражнение весь вечер не дает покоя.. Сабж(упражнение 5 главы 7): Написать программу, которая получает обыкновенные дроби от пользователя, сохраняет их в массиве типа fraction(это класс, его поля - числитель и знаменатель дроби),... http://www.cyberforum.ru/cpp-beginners/thread785037.html
Программа со сверхбольшими числами не выполняется до конца C++
Сам код #include "verylong.h" void verylong::putvl()const { char temp ; strcpy(temp,vlstr); cout<<strrev(temp); }
Перевод чисел из 10 СС в 2 СС C++
Помогите пожалуйста написать программу,которая представляла бы введенное число типа unsigned char в двоичном виде с помощью битовых масок.
C++ нарисовать розу ветров на с++ http://www.cyberforum.ru/cpp-beginners/thread785025.html
нарисовать розу ветров на языке с++?
C++ Волновой алгоритм Подскажите пожалуйста, на сколько сложно изготовить из матрицы 0000 0000 0000 напр.4345 3234 2123 3234 Только при помощи обычных циклов. подробнее

Показать сообщение отдельно
septe-mber
0 / 0 / 0
Регистрация: 02.01.2013
Сообщений: 123
12.02.2013, 21:58     ортогональная структура инвентарной ведомости
привет всем! вот пытаюcь решить задачу на тему односвязные списки из книги Абстракция данных и решение задач на C++. Стены и зеркала . и там нужно представить списки в таком виде ...
так же вод которые я написал..
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
class Node
{
private:
    //Список очередности - люди, ожидающие
    //определенную кассету
    struct WaitNode
    {
        std::string who;
        WaitNode* next;
    };
    //Инвентарный список - список кассет, имеющих в магазине
    struct StockNode
    {
        std::string title; //Название
        int have, want; //Имеющиеся кассеты, ожидаещиеся кассеты
        WaitNode* waitHead, *tailHead;
        StockNode* next;
    };
    StockNode* pHead_Stock;
    WaitNode* pHead_Wait;
    int size_stock;
    int size_wait;
public:
    Node();
    void add_people(std::string people);
    void add_cassette(std::string title, int have, int want);
    void show_(StockNode*& pp);
    void show();
    virtual ~Node();
};

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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
Node::Node(): pHead_Stock(NULL), pHead_Wait(NULL), size_stock(0), size_wait(0)
{ }
 
void Node::add_people(string people)
{
    ++size_wait;
    WaitNode* pItem = new WaitNode;
    pItem->who = people;
 
    if(pHead_Wait == NULL)
    {
        pItem->next = pHead_Wait;
        pHead_Wait = pItem;
    }
    else
    {
        WaitNode* pCur = pHead_Wait;
        for(int i = 1; i < size_wait && pCur->next != NULL; i++)
            pCur = pCur->next;
        pItem->next = pCur->next;
        pCur->next = pItem;
    }
}
 
void Node::add_cassette(string title, int have, int want)
{
    ++size_stock;
    StockNode* pItem = new StockNode;
    pItem->title = title;
    pItem->have = have;
    pItem->want = want;
 
    pItem->waitHead = pHead_Wait;
 
 
    if(pHead_Stock == NULL)
    {
        pItem->next = pHead_Stock;
        pHead_Stock = pItem;
    }
    else
    {
        StockNode* pCur = pHead_Stock;
        for(int i = 1; i < size_stock && pCur->next != NULL; i++)
            pCur = pCur->next;
        pItem->next = pCur->next;
        pCur->next = pItem;
    }
}
 
void Node::show_(StockNode*& pp)
{
    while(pp->waitHead)
    {
        cout<<pp->waitHead->who<<'\t';
        pp->waitHead = pp->waitHead->next;
    }
}
 
void Node::show()
{
    StockNode* _pCur = pHead_Stock;
    int count_stock(1);
    cout<<"Инвентарная ведомость:"<<endl;
 
    cout<<endl;
    while(_pCur)
    {
        cout<<count_stock++<<". "<<_pCur->title<<'\t'<<_pCur->have<<'\t'<<_pCur->want<<'\t';
        show_(_pCur);
        cout<<endl
            <<"--------"<<endl;
        _pCur = _pCur->next;
    }
    cout<<endl<<endl;
}
 
Node::~Node()
{
    StockNode* _pCur = pHead_Stock;
    while(_pCur)
    {
        _pCur = pHead_Stock->next;
        delete pHead_Stock;
        pHead_Stock = _pCur;
    }
    _pCur = NULL;
 
    WaitNode* pCur_ = pHead_Wait;
    while(pCur_)
    {
        pCur_ = pHead_Wait->next;
        delete pHead_Wait;
        pHead_Wait = pCur_;
    }
    pCur_ = NULL;
}
у меня получается что просто тупо указаваю на список pItem->waitHead = pHead_Wait; помогите представить список в таком виде...
Миниатюры
ортогональная структура инвентарной ведомости  
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 00:58. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru