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

Односвязный линейный список - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Code::Blocks http://www.cyberforum.ru/cpp-beginners/thread320754.html
В Code::Blocks когда ты откомпилил программу в Debug, после внес изменения и снова "откомпилил", то нет результата от 2-й компиляции - программа работает так же, как и в первый раз, даже если вносишь капитальные изменения или вовсе стираешь всю ту программу и пишешь новую. Говорят, что надо очищать проект перед вторичной компиляцией. Для этого я нажимаю правой кнопкой на проекте, в контекстном...
C++ База данных библиотеки всем здравствуйте. у меня появилась проблема. нужно написать программу. вот задание: Написать программу , которая содержит текущую информацию о книгах в библиотеке. Сведения о книгах содержат: Номер УДК; Фамилию и инициалы автора; Название; Год издания; Количество экземпляров данной книги в библиотеке. Программа должна обеспечивать:  Начальное формирование данных о всех книгах в... http://www.cyberforum.ru/cpp-beginners/thread320740.html
C++ почему прога не пашет?
/*Цель программы: Вычислить минимум F(x)=k*(a*x+b)*P(x) на отрезке с точностью eps P(x) - интерполяционный многочлен от f(x) ф-ия f(x) задана таблично: x 1.05 1.15 1.25 1.35
C++ Исправление программы
Простите мне что я такой неуч. Мне написали программу, но с некоторым отличием от того что я знаю: строчки scanf и prrintf такого вида для мня совсем непонятны. Вот сама программа:#include <stdio.h> #include <conio.h> #include <iostream.h> const n = 30; // максимальное количество элементов в списке int main() { clrscr(); // очищаем экран
C++ operator = для объекта, содержащего CStdioFile http://www.cyberforum.ru/cpp-beginners/thread320710.html
Приветствую всех. Возникла проблема с реализацией оператора присваивания для класса, содержащего CStdioFile. Получить копию CStdioFile мне не удалось... метод Duplicate() в нем не реализован почему-то. Попробовал вместо CStdioFile хранить ссылку, но тогда после копирования, когда удаляется временный объект вызывается деструктор, который благополучно закрывает файл по ссылке. Подскажите,...
C++ Не получается удалить символ из строки подскажите как можно удалить знак пунктуации из строки? написал код: #include <iostream> #include <string> #include <cctype> using namespace std; int main () { string str; подробнее

Показать сообщение отдельно
Nadin_
0 / 0 / 0
Регистрация: 12.01.2011
Сообщений: 13
16.06.2011, 13:45     Односвязный линейный список
Текст помощи для не которой программы организован в виде линейного списка
Каждая компонента текста помощи содержит термин (слово) и текст,содержащий пояснение к этому термину.

Написать программу,которая обеспечивает
- начальное формирование текста помощи;
- вывод текста помощи;
- вывод поясняющего текста для заданного термина
Программа должна обеспечить диалог с помощью меню и контроль ошибок при вводе.

у меня есть она...но новый элемент она вставляет в начало списка,а нужно в конец.

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
#include <stdio.h>
#include <conio.h>
#include <alloc.h>
#include <string.h>
#include <iostream.h>
struct list{
    char name[100];
    char text[100];
    struct list *next;
    };
 
typedef struct list BASE;
typedef BASE *pr;
 
 
void spisok_dobavit (pr *ptr);
void spisok_print   (pr*, int kolichestvo);
void spisok_poisk   (pr*);
 
 
int proverka(pr);
 
 
void main(void)
{
 int tmp_key;
 clrscr();
 
 
           int kolichestvo=0;
           pr sptr = NULL;
           int tmp_key2;
           clrscr();
 
 
           do
         {
         clrscr();
         fflush(stdin);
 
         printf("     (1) dobavit.\n");
         printf("     (2) show.\n");
         printf("     (3) poisk.\n");
         printf("     (4) Exit.\n");
 
         switch(getch()){
 
             case '1':
 
                 {
                 clrscr();
 
                 printf("vvedite termin: \n");
                 kolichestvo++;
                 spisok_dobavit(&sptr);
                 }
             break;
 
 
             case '2':
 
                 {
 
 
 
                 clrscr();
 
                 if(proverka(sptr)){
                  printf("Error:Spisok pyst ! \n ");
 
                // printf("„«п Їа®¤®«¦Ґ*Ёп **¦¬ЁвҐ «оЎго Є«*ўЁиг");
                 getch();
                 }
 
                 else
                 spisok_print(&sptr,kolichestvo);
                 }
 
             break;
 
             case '3':
 
                 {
                 clrscr();
 
                 if(proverka(sptr)){
                  printf("Ћ&#152;?ЃЉЂ: ‹Ёбв Їгбв! \n ");
                 getch();
                 }
 
                 else
                 spisok_poisk(&sptr);
                 }
 
             break;
 
             case '4':
 
                 {
 
                 tmp_key2='Y';
                 }
             break;
 
             default :
 
                 {
                  printf("Ћ&#152;?ЃЉЂ: vvedite(1-5)! \n ");
                  getch();
                 }
             }
         }
 
           while(tmp_key2!='Y');
 
 
           }
 
 
void spisok_dobavit(pr *ptr)
{
 pr r;
 r=(BASE*)malloc(sizeof(BASE));
 r->next=NULL;
 
 printf("\n -  : ");
 scanf("%s",r->name);
 
 printf("\n - Termin: ");
 scanf("%s",r->text);
 
 
 
 r->next= *ptr;
 *ptr = r;
 /*pr r;
 cin>>r->name;
 cin>>r->text;
 r->next=new BASE;
 r=r->next;
            */
}
 
 
 
 
void spisok_print(pr *ptr, int kolichestvo)
{
 printf("             baza: \n");
 pr r;
 r=*ptr;
 //r=r->next;
 printf("%-5s%-15s%-13s%\n","No.","Termin","Text");
 
 do
   {
   printf("%-5d%-15s%-13s%\n",kolichestvo,r->name,r->text);
   kolichestvo--;
   r=r->next;
   }
 
 while(r != NULL);
 getch();
 free(r);
}
 
 
void spisok_poisk(pr *ptr)
{
 char name[100];
 int poisk;
 
 pr q,p;
 q=*ptr;
 
 printf("\n - Vvedite termin ");
 scanf("%s",&name);
 
 while(q!=NULL && poisk){
     poisk=strcmp(name,q->name);
     p=q;
     q=q->next;
     }
 
 if(poisk!=0){
     printf("\n Sorry no elem \n");
 
     getch();
     }
 
 else{
     q=p;
     printf("%-5s%-15s%-13s%-12s%-10s\n","No.","termin","Text");
     printf("%-5d%-15s%-13s%-12s%-10d\n",1,q->name,q->text);
     getch();
     }
 poisk=1;
}
 
 
 
 
int proverka(pr topptr)
{
 return topptr == NULL;
}
Помогите переделать.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 20:40. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru