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

Создание списка учебных предметов (название предмета, направления: гуманист. / Техническое, наличие экзамена) - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.90
InHale
 Аватар для InHale
1 / 1 / 0
Регистрация: 08.02.2011
Сообщений: 57
23.02.2012, 21:51     Создание списка учебных предметов (название предмета, направления: гуманист. / Техническое, наличие экзамена) #1
Всем привет) задание звучит так: Задача: создать библиотеку функций согласно варианту задания. Создать программу, которая использует вашу собственную библиотеку. В библиотеке должен быть описан собственный тип данных, класс или структура и функции работы с этим типом данных, классом или структурой.

задание по варианту: Список учебных предметов (название предмета, направления: гуманист. / Техническое, наличие экзамена)

Написал по быстрому:
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
#include <iostream>
#include <conio.h>
#include <clocale>
#include <fstream>
#include <cstdlib>
using namespace std;
 
struct list
{
       struct list *next; // указатель на след. эллемент списка
       struct list *prev; // указатель на предыдущий эллемент списка
       string SubjectName, direction, examination;
};
list *head=0, *tail=0;
void AddSubject(list *ptr); // добавление узла списка
void ShowAll(); // вывод на экран
//void Find ();
//void Del(); // удаление узла списка
 
int main()
{
    string key;
    list* ptr = new list;
    ptr->next = 0;
    ptr->prev = 0;
 
    while(1)
       {
               {system("cls");
 
                 cout<< "1 " << "Add subject" << endl;
                 cout<< "2 " << "Print subject" << endl;
                 //cout<< "3 " << "Rename Book" << endl;
                 //cout<< "4 " << "Find" << endl;
                 cout<< "0 " << "Exit!" << endl;
                 cout<<"What you do: ";
                 getline(cin,key);
                 cout<<" \n";
               }
 
           switch(atoi(key.c_str()))
           {
              case 1: AddSubject(ptr); break;
              case 2: ShowAll(); break;
             // case 3: RenameBook(); break;
             // case 4: Find();break;
              case 0: exit(1); break;
              default: cout << "Error of Input. Requires a range of 0 to 4 " << endl;
           }
       }
 
}
 
void AddSubject(list *ptr)
{
     if (head == 0)
         head = ptr;
     cout<<endl<<"Write Subject: ";
     cin>>ptr->SubjectName;
     cout<<"Write direction ( technical or gumatiranye ): ";
     cin>>ptr->direction;
     cout<<"Examination ( yes or no): ";
     cin>>ptr->examination;
     tail = ptr;
     cout<<endl;
}
 
void ShowAll()
{
     list *ptr = 0; // начинаем с головы
     if (head == 0)
         cout<<"elements = 0"<<endl;
     else
         while (ptr->next != 0)
         {
             cout<<"Subjects: "<< ptr->SubjectName<<endl;
             cout<<"Direction: "<< ptr->direction<<endl;
             cout<<"Examination: "<< ptr->examination<<endl;
             ptr = ptr->next;
         }
}
Проблема в том что если выбрать допустим первый пункт 1- добавляешь элемент, а потом если выбираешь другую функцию - окно закрывается. И при вывод Print должно выводить все предметы, а выводит только последнее введенное...
как ещё реализовать функции - Find и Rename ?
буду очекь благодарен за помощь )
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.02.2012, 21:51     Создание списка учебных предметов (название предмета, направления: гуманист. / Техническое, наличие экзамена)
Посмотрите здесь:

C++ известна масса каждого из 12 предметов определить общую массу всего набора предметов ?
C++ Написать функцию целого типа, определяющую наличие в первой строке матрицы наличие седловой точки.
В массиве хранится сведения о стоимости 12 различных предметов. определить общую стоимость всех предметов? C++
Создание списка C++
5.40 Известна масса каждого из 12 предметов. Определить общую массу все¬го набора предметов C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Buckstabue
 Аватар для Buckstabue
175 / 124 / 6
Регистрация: 12.01.2012
Сообщений: 624
23.02.2012, 22:01     Создание списка учебных предметов (название предмета, направления: гуманист. / Техническое, наличие экзамена) #2
Я хз, но по-моему использовать статический string в структурах нельзя. Тут надо либо сишный char или на крайний случай попытаться использовать ссылку на string в структуре и придётся разыменовывать её при каждом обращении. Т.е. выйдет либо
C
1
2
3
4
5
6
struct list
{
       struct list *next; // указатель на след. эллемент списка
       struct list *prev; // указатель на предыдущий эллемент списка
       char SubjectName[128], direction[128], examination[128];
};
Либо, но я не уверен
C
1
2
3
4
5
6
struct list
{
       struct list *next; // указатель на след. эллемент списка
       struct list *prev; // указатель на предыдущий эллемент списка
       string * SubjectName, * direction, * examination;
};
 Комментарий модератора 
Используйте теги форматирования кода!
InHale
 Аватар для InHale
1 / 1 / 0
Регистрация: 08.02.2011
Сообщений: 57
04.03.2012, 17:19  [ТС]     Создание списка учебных предметов (название предмета, направления: гуманист. / Техническое, наличие экзамена) #3
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
#include <iostream>
#include <conio.h>
#include <string.h>
#include <fstream>
#include <cstdlib>
using namespace std;
 
struct list
{
       struct list *next; // указатель на след. эллемент списка
       struct list *prev; // указатель на предыдущий эллемент списка
       char SubjectName[20], Direction[10], Examination[5];
};
 
list *head=0, *tail=0;
int i=0;
void AddSubject(); // добавление узла списка
void Show(); // вывод на экран
void Del(); // удалить элемент
void Find(); // поиск элемента
 
int main()
{
 
    char key;
    while (true)
       {
               {
                 cout<< "1 " << "Add subject" << endl;
                 cout<< "2 " << "Print subject" << endl;
                 cout<< "3 " << "Delete subject" << endl;
                 cout<< "4 " << "Find" << endl;
                 cout<< "0 " << "Exit!" << endl;
                 cout<<"What you do: ";
                 key=getch();
                 cout<<" \n";
               }
 
           switch(key)
           {
              case '1': AddSubject(); break;
              case '2': Show(); break;
              case '3': Del(); break;
              case '4': Find();break;
              case '0': return 0; break;
             default: cout << "Error of Input. Requires a range of 0 to 4 " << endl;
           }
      }
 
}
 
 
void AddSubject()
{
        int i=0;
        list* ptr = new list;
           ptr->next = 0;
           ptr->prev = 0;
        if (head==0)
        {
           cout<<endl<<"Write Subject: ";
           cin>>ptr->SubjectName;
           cout<<"Write direction ( technical or gumatiranye ): ";
           cin>>ptr->Direction;
           cout<<"Examination ( yes or no): ";
           cin>>ptr->Examination;
           ptr->next=0;
           head=ptr;i=i+1;
           cout << "\n";
           }
 
        else
           {
            cout<<endl<<"Write Subject: ";
            cin>>ptr->SubjectName;
            cout<<"Write direction ( technical or gumatiranye ): ";
            cin>>ptr->Direction;
            cout<<"Examination ( yes or no): ";
            cin>>ptr->Examination;
            ptr->next=ptr;
            ptr=head;i=i+1;
            cout<<"\n";
           }
 
}
 
 
void Show()
{
           list *ptr=0;
            ptr=head;
            if(head==0){cout << "No element!\n\n";}
            while (true)
             {
                cout<<"\n\n";
                cout << "Subject name: "<<ptr->SubjectName<<"\n";
                cout << "Direction "<<ptr->Direction<<"\n";
                cout << "Examination "<< ptr->Examination<<"\n";
                if(ptr->next==head||ptr->next==0) break;
                ptr=ptr->next;
             }
            cout<<"\n\n";
 
}
 
void Del()
{
    list *ptr=0;
    list *tmp=0;
    tmp=head;
    char SubjectName[20];
    cout <<" CIN subject name : ";
    cin>>SubjectName;
    if(ptr->SubjectName ==0)
    {
        head=ptr->next;
        delete ptr; i=i-1;
    }
    else {head=ptr->next;
            for(int j=0; j<i; j++)
    {
        if(ptr->SubjectName==0)
        {
            tmp->next==ptr->next;
            delete ptr; i=i-1;
        }
        else if(ptr->next==0){cout<<"\n"<<"Net predmeta! \n\n";break;}
        else
        {
            tmp=tmp->next; ptr=ptr->next;break;
        }
    }
}
}
 
void Find()
{
    char SubjectName[20];
    list *ptr=0;
    ptr=head;
    cout<<"CIN Subject name: ";
          cin>>SubjectName;
    while(true)
    {
        if(ptr->SubjectName==0 )
        {
            cout<<"Subject Name"<<ptr->SubjectName;
            cout<<"Direction"<<ptr->Direction;
            cout<<"Examination"<<ptr->Examination;
            break;
        }
        else
        { if (ptr->next==head||ptr->next==0)break;
            cout<<"\n"<<"No element!";
                  ptr=ptr->next;}
    }
}
вот чуть переделал код, в функции удалить выбивает - error, и с поиском что-то не то)
Buckstabue
 Аватар для Buckstabue
175 / 124 / 6
Регистрация: 12.01.2012
Сообщений: 624
04.03.2012, 19:23     Создание списка учебных предметов (название предмета, направления: гуманист. / Техническое, наличие экзамена) #4
Я немного не понимаю, что делает программа. Вот подозрения вызывает код в функции AddSubject(), в первой же строчке объявлена переменная int i, которая так же определена и в глобальной области. Вообще глобальные переменные - это не есть хорошо, т.к. нарушается инкапсуляция и т.д.
Но тебе видней. Плюс сейчас компильнул у себя, компилятор справедливо предупредил, что строчка 123
C++
1
2
3
4
5
if(ptr->SubjectName==0)
        {
            tmp->next==ptr->next;// эта строчка бессмыслена, сравниваются указатели операцией ==
            delete ptr; i=i-1;
        }
Вообще учись пользоваться отладчиком, полезная штука ведь! Хотя бы в консоль выводи все указатели перед удалением, чтобы понять откуда ноги расстут
Насчёт функций find, del и и т.п. советую найти книгу Паловская "Программирование на языке высокого уровня" там по-моему уже есть готовый модуль для работы с динамическими струтурами данными. Да и сама книга хороша!
InHale
 Аватар для InHale
1 / 1 / 0
Регистрация: 08.02.2011
Сообщений: 57
04.03.2012, 23:55  [ТС]     Создание списка учебных предметов (название предмета, направления: гуманист. / Техническое, наличие экзамена) #5
Buckstabue
Ну это работа с линейными списками ) добавление, удаление, поиск, вывод на экран)
добавление вроде бы работает и вывод ) только правда выводит не весь список а первый элемент)
Buckstabue
 Аватар для Buckstabue
175 / 124 / 6
Регистрация: 12.01.2012
Сообщений: 624
05.03.2012, 17:10     Создание списка учебных предметов (название предмета, направления: гуманист. / Техническое, наличие экзамена) #6
Я же сказал, попробуй найти в электронном виде хотя бы Павловскую. Там дан прекрасный код работы с динамическими структурами. В том числе и со списками. Там так же есть и деревья, и стеки, и очереди, и словари. И всё реализовано через структуры
В крайнем случае можно найти готовый класс/ библиотеку по работе с такими структурами. Популярная задача ведь. Но всё же советую реализовывать эту штуку через классы - так будет проще прослеживать утечки памяти
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
05.03.2012, 17:15     Создание списка учебных предметов (название предмета, направления: гуманист. / Техническое, наличие экзамена) #7
Buckstabue,
Я хз, но по-моему использовать статический string в структурах нельзя.
Чо? Откуда вообще взяли такое И откуда тут в коде взялся "статический" string, когда там слова static нет вообще?
Buckstabue
 Аватар для Buckstabue
175 / 124 / 6
Регистрация: 12.01.2012
Сообщений: 624
05.03.2012, 18:26     Создание списка учебных предметов (название предмета, направления: гуманист. / Техническое, наличие экзамена) #8
Я имел в виду статическое выделение памяти под string в структуре и не то что нельзя, а не рекомендуется
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
05.03.2012, 18:34     Создание списка учебных предметов (название предмета, направления: гуманист. / Техническое, наличие экзамена) #9
Цитата Сообщение от Buckstabue Посмотреть сообщение
не рекомендуется
Кем не рекомендуется?
Buckstabue
 Аватар для Buckstabue
175 / 124 / 6
Регистрация: 12.01.2012
Сообщений: 624
05.03.2012, 18:40     Создание списка учебных предметов (название предмета, направления: гуманист. / Техническое, наличие экзамена) #10
Лично мной. На самом деле просто года так 4 назад меня попросил один чел проверить почему одна программа падает в одном месте. Оказалось это происходило на запись в поле типа string одной структуры. Значит заменили всё вначале на char[ size ] и программа перестала падать и позже заменили на *string и всё опять заработало, но уже со string. Возможно просто компилятор был устаревший, сейчас попробовал с типом стринг код вроде cin >> struct.str и вроде без ошибок считывает. Если отрою тот старый исходник, то покажу
Вот тот самый код. честно сказать не самый лучший код, т.к. мы тогда вместе переходили с C на 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
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
#include  <iostream>
#include <string>
#include <malloc.h>
using namespace std;
 
struct libary{
    string language;
    string  avtor;
};
 
 
class biblioteka{
      public :
             void add_libary();
             void add_libary(string lib, string avt);
             void export_file();
             void del_from_file();
             
             
             biblioteka()
             {
                 num=1;
                 kniga=(libary*)malloc(sizeof(libary)*1);
             }
             ~biblioteka()
             {
                  free(kniga);
             }
      
      
      private:
      unsigned long int num;
      libary*kniga;
 
};
 
 
void biblioteka:: add_libary()
{
     cout<<"test\n";
     
     cout<<num<<"test\n";
     kniga=(libary*)realloc(kniga,sizeof(libary)*num);
     cout<<"test\n";
     cout<<"Vvedite language"<<endl;
     cin>>kniga[num-1].language;
     cout<<"vvedite avtora"<<endl;
     cin>>kniga[num-1].avtor;
     num++; 
}
int main()
{
    
     biblioteka baza;biblioteka*pbaza=&baza;
     
     pbaza->add_libary();
 
 
 
 
 
   return 0;
}
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
05.03.2012, 18:56     Создание списка учебных предметов (название предмета, направления: гуманист. / Техническое, наличие экзамена) #11
Цитата Сообщение от Buckstabue Посмотреть сообщение
Если отрою тот старый исходник, то покажу
Очень хочется посмотреть. Потому что на 90% уверен, что программа падала из-за кривости рук девелопера, а не разработчиков стл (10% всё же оставил под них, потому что даже теперь не все баги отловлены, что говорить о каком-нибудь borland 3.1).

Добавлено через 13 минут
Buckstabue, и чего вы хотели, используя malloc? Он ведь не вызывает конструкторы. Надо использовать new/delete, и только их. А вообще, не маяться фигнёй и не юзать указатели там, где не надо.

Добавлено через 54 секунды
Нет, можно, конечно, и malloc использовать, но тогда всё равно обязательно надо использовать placement new. Но смысла в таких извращениях в данном случае нет никакого.
Buckstabue
 Аватар для Buckstabue
175 / 124 / 6
Регистрация: 12.01.2012
Сообщений: 624
05.03.2012, 19:01     Создание списка учебных предметов (название предмета, направления: гуманист. / Техническое, наличие экзамена) #12
Тем не менее заменив методом тыка новый тип string, на более знакомый на тот момент char, программа чудом заработала. В будущих версиях при использовании операции new мы уже заменили char на *string, всё работало как надо. И всё это отразилось на нашу психику
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.03.2012, 18:20     Создание списка учебных предметов (название предмета, направления: гуманист. / Техническое, наличие экзамена)
Еще ссылки по теме:

Сделать так, что бы в общем балле отображался сумма, складываемых 4 предметов и деленный на тот же количество предметов C++
C++ Техническое предложение к программе
Наследование классов "Заявка", "Техническое задание", "Техническое предписание" C++

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

Или воспользуйтесь поиском по форуму:
InHale
 Аватар для InHale
1 / 1 / 0
Регистрация: 08.02.2011
Сообщений: 57
12.03.2012, 18:20  [ТС]     Создание списка учебных предметов (название предмета, направления: гуманист. / Техническое, наличие экзамена) #13
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
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
#include <iostream>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
 
 
using namespace std;
 
struct list
{
       struct list *next; // указатель на след. эллемент списка
       char SubjectName[200], Direction[200], Examination[200];
};
 
list *head=0, *tail=0;
int contElement;
void AddSubjectFront(); // добавить в начало списка
void AddSubjectBack(); // добавить в конец списка
void PrintAll(); // вывод на экран
void Del(); // удалить элемент
void Find(); // поиск элемента
void ClearAll(); // удалить весь список
void AddSubject(); // тип добавления
 
 
 
int main()
{
 
    char key;
    while (true)
       {
               {
                 cout<< "1 " << "Add subject" << endl;
                 cout<< "2 " << "Print subject" << endl;
                 cout<< "3 " << "Delete subject" << endl;
                 cout<< "4 " << "Find" << endl;
                 cout<< "5 "  << "Clear all"<<endl;
                 cout<< "0 " << "Exit!" << endl;
                 cout<<"What you do: ";
                 key=getch();
                 cout<<" \n";
               }
 
           switch(key)
           {
              case '1': AddSubject(); break;
              case '2': PrintAll(); break;
              case '3': Del(); break;
              case '4': Find();break;
              case '5': ClearAll(); break;
              case '0': exit(0); break;
             default: cout << "Error of Input. Requires a range of 0 to 4 " << endl;
           }
      }
 
}
 
 
void AddSubject()
{
    char key;
    while (true)
       {
               {
                 cout <<"\n";
                 cout<< "1 " << "Add subject Front" << endl;
                 cout<< "2 " << "Add Subject Back" << endl;
                 cout<< "3 " << "Return to main menu" << endl;
                 key=getch();
                 cout<<" \n";
               }
 
           switch(key)
           {
              case '1': AddSubjectFront(); break;
              case '2': AddSubjectBack(); break;
              case '3': main();break;
              default: cout << "Error of Input. Requires a range of 1 to 2 " << endl;
           }
      }
}
 
 
void AddSubjectFront()
{
       list* ptr = new list;
           ptr->next = 0;
           ptr->next = head;
        head=ptr;
        {
           tail=head;
           cout<<endl<<"Write Subject: ";
           cin>>head->SubjectName;
           cout<<"Write direction ( technical or gumatiranye ): ";
           cin>>head->Direction;
           cout<<"Examination ( yes or no): ";
           cin>>head->Examination;
           ++contElement;
           cout << "\n";
         }
 
}
 
 
void AddSubjectBack()
{
         list* ptr = new list;
         cout<<endl<<"Write Subject: ";
         cin>>ptr->SubjectName;
         cout<<"Write direction ( technical or gumatiranye ): ";
         cin>>ptr->Direction;
         cout<<"Examination ( yes or no): ";
         cin>>ptr->Examination;
         ++contElement;
         ptr->next = 0;
         cout << "\n";
    if (head == 0)
          {
               head = ptr;
          }
    else
    {
       list *tmp=head;
       while(tmp->next != NULL)
           tmp=tmp->next;
       tmp->next=ptr;
        cout << "\n";
 
    }
 
 
 
 
void PrintAll()
{
           list *tmp=head;
           if(head==0){ cout << "\n\n"; cout << "No element!\n\n";}
           while (tmp != NULL)
             {
                cout<<"\n\n";
                cout << "Subject name: "<<tmp->SubjectName<<"\n";
                cout << "Direction "<<tmp->Direction<<"\n";
                cout << "Examination "<<tmp->Examination<<"\n";
                tmp=tmp->next;
             }
            cout<<"\n\n";
 
}
 
void Del()
{
    char name[20];
    list *ptr=0;
    list *tmp=0;
    tmp=head;
    ptr=head;
    cout << "\n\n";
    cout<<"CIN Subject name: ";
    cin>>name;
 
    while(true)
    {
        if ( strcmp((ptr->SubjectName), name) == 0 )
            {
        head=ptr->next;
        delete ptr; --contElement;
            }
 
        else
    {
        ptr=ptr->next;
        for (int j=0; j<(contElement); j++)
        {
            if(strcmp((ptr->SubjectName), name) == 0)
            {
                tmp->next=ptr->next;
                delete  ptr;
                --contElement;
            }
            else if(ptr->next==0){ cout<<"\n"<<"No element!\n";break;}
            else {tmp=tmp->next; ptr=ptr->next; break;}
        }
    }
}}
 
void Find()
{
    char name[20];
    list *ptr=0;
    ptr=head;
    cout << "\n\n";
    cout<<"CIN Subject name: ";
    cin>>name;
 
    while(true)
    {
        if ( strcmp((ptr->SubjectName), name) == 0 )
        {
            cout << "\n\n";
            cout<<"Subject Name: "<<ptr->SubjectName<<endl;
            cout<<"Direction: "<<ptr->Direction<<endl;
            cout<<"Examination: "<<ptr->Examination<<endl;
            cout << "\n\n";
            break;
        }
        else
        {
            cout << "not equals" << endl;
            cout << ptr->SubjectName << "/" << name << " was found";
            if (ptr->next==head||ptr->next==0) {
                break;
            }
            cout<<"\n"<<"No element!";
            ptr=ptr->next;
        }
    }
}
 
\
void ClearAll()
{
    while(head != NULL)
    {
        list *tmp = head;
        head = head->next;
        delete tmp;
        cout << "\n\n";
        cout<<"               Cleared!\n \n";
    }
}
вот вроде все работает) может кому поможет, к стати можно как-то по другому переписать функцию - void AddSubjectBack() ? то что-то мне не особо нравиться ( брал материал с интернета )
Yandex
Объявления
12.03.2012, 18:20     Создание списка учебных предметов (название предмета, направления: гуманист. / Техническое, наличие экзамена)
Ответ Создать тему
Опции темы

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