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

Шаблон класса двусвязный список - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Перевести с DELPHI в С++ http://www.cyberforum.ru/cpp-beginners/thread318359.html
Кто-нибудь сможет помочь переписать код с delphi на с++? И вообще возможно ли это?
C++ Нормальное Распределение чисел есть программа. вычисляет нормально распределенные два числа методом Бокса — Мюллера, не могу сделать что выводила случайную последовательность а не два числа. помогите плиз! #include <math.h> ... http://www.cyberforum.ru/cpp-beginners/thread318357.html
C++ Как изучать С++ ?
Уважаемые участники форума, я тут на досуге - невзначай решил научиться азам С++. Нашел кучу учебников сижу типа читаю. Столкнулся с проблемой - масса ненужной информации и нет систематизации...
C++ Нахождение кратчайшего пути в неорентированном графе от заданой вершины к заданной
Добрый день. Вот решаю задачку о кратчайщем расстояние между двумя верщинами в неорентированном связном графе без циклов. Заданны такие параметры. (Помещаю их в файл text2.txt) 6 --...
C++ Массив http://www.cyberforum.ru/cpp-beginners/thread318283.html
Помогите разобраться. Только начал читать про указатели и решил написать простенькую программку :) Она считает кол-во прописных букв и записывает эти буквы в массив. Насчет счетчика всё ясно, но вот...
C++ исправить код программы #include<iostream.h> #include<conio.h> #include<stdlib.h> #include<string.h> #include<iomanip.h> float f( float, float, float, float); float pr_chet( float *mas, int k); float sum_f( float... подробнее

Показать сообщение отдельно
Anna Bridman
0 / 0 / 0
Регистрация: 12.06.2011
Сообщений: 7
12.06.2011, 19:36  [ТС]
Вот, что у меня пока получается
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
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
#include "stdafx.h"
#include <string>
#include <conio.h>
#include <iostream>
 
using namespace std;
 
template <class Type>
class spisok
{
    private:
        struct element
        {
            Type number;        //Номер автобуса
            Type driver;        //Водитель
            Type route;         //Маршрут
            bool deport;        //Признак того, где находится автобус (в автопарке или на маршруте)
            element *next;          //Указатель на следующий элемент списка
            element *prev;          //Указатель на предыдущий элемент списка
            
            element(Type num, Type dr, Type r, bool dep = false, element* nxt = 0, element* prv = 0) :
                number(num), driver(dr), route(r), deport(dep), next(nxt), prev(prv)
            {}
        }
    public:
        element<Type> *bus;
        element<Type> *head;
        element<Type> *tail;
        spisok() : bus(0) {}
        
        Type get_number()           { return bus->number;           }
        Type get_route()            { return bus->route;            }
        Type get_driver()           { return bus->driver;           }
        bool get_deport()           { return bus->deport;           }
 
        element &operator [] (int index)                        
        {
            return bus[index];
        }
 
        element operator = (element *current)                   
        {
            return element(bus->number  = current->number,
                        bus->driver = current->driver,
                        bus->route  = current->route,
                        bus->deport = current->deport,
                        bus->next   = current->next,
                        bus->prev   = current->prev);
        }
        element *new_bus(Type num, Type dr, Type r)
        {
            bus = new element();
            bus->number = num;
            bus->driver = dr;
            bus->route = r;
            bus->prev = bus->tail;
            bus->next = NULL;
            if (bus->tail != NULL)
                bus->tail->next = bus;
            if(bus->head == NULL)
                bus->head = bus;
            bus->tail = bus;
            return bus;
        }
 
        void add_bus(Type num, Type dr, Type r, bool dep)
        {}
        void del_bus()
        {}
        void print()                
        {
            element *E = bus;
 
            while(E)
            {
                cout<<E->number
                    <<"\t"<<E->driver
                    <<"\t"<<E->route;
                E = E->next;
            }
            cout<<"\n";
        }
        void search(const element<Type> *bus1, Type field_key)
        {
            if(bus1 == 0)
                return;
            if(bus1->number == field_key)
            {
                cout<<"\t"
                    << bus1->number<< "\t"
                    << bus1->driver << "\t"
                    << bus1->route << "\t"
                    << bus1->deport << "\t\n" ;
            }
            search(bus1->get_next(), field_key);
        }
};
 
void main()
{
    spisok <string> bus;
    string number;
    string driver;
    string route;
    bool deport;
    int i,q = 0;
    int size = 0;
    string par_search;
    int num;
    
    int CV = 0;
    while (CV != 5)
    {
        cout << endl << "Menu: \n"
        << "1. New bus \n"
        << "2. Show spisok \n"
        << "3. Delete bus \n"
        << "4. Search bus\n"
        << "5. Exit \n"
        <<"Input number menu:  ";
 
        cin >> CV;
        switch(CV)
        {
                case 1: 
                    {
                        cout<<" number: ";  cin>>number;
                        cout<<" driver: ";  cin>>driver;
                        cout<<" route: ";   cin>>route;
 
                        bus[q].new_bus(number, driver, route);
                        q++;                                                        
                        size = q;                                               
                    }  break;
 
                case 2:
                    { 
                        for (i = 0; i < size; i++)
                        bus[i].print();//вызывается ф-ция печати
                    }  break;
 
                case 3:
                    {
                        
                    }  break;
 
                case 4: 
                    {
                        cout<<"\nEnter number bus: ";
                        cin>>par_search;
                        /*for (int i = 0; i < size; i++)
                        bus[i].search(......, par_search);*/
                    }  break;
 
                case 5:  break;
 
            default: cout << endl << "Enter prev number!\n"; break;
        }
 
    _getch();
    }
}
Компилятор выдает кучу ошибок.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru