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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
nadyusha_
0 / 0 / 1
Регистрация: 24.10.2010
Сообщений: 14
#1

Линейный список - C++

15.06.2011, 10:58. Просмотров 561. Ответов 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
#include <iostream.h>
#include <conio.h>
#include <math.h>
#include <stdlib.h>
#include <ctype.h>
 
struct Node {
int d;
char *termin;
char *adr;
Node *next;
Node *prev;
};
 
 
//----------------------------------------------------------------------------
Node * first(int d);
void add(Node **pend, int d);
void add(Node * *pend, int d, char *termin, char *adr);
 
Node * find(Node * const pbeg, char *termin);
 
//int remove(Node **pbeg, Node **pend,char *termin);
 
void Opis(Node *app);
 
//-----------------------------------------------------------------------------
int main(){
int k=0, i=0;
char *adr=new char[40];
char *termin=new char[40];
    Node *pbeg=first(i++);
    Node *pend=pbeg;
 
        clrscr();
while (k!=4) {
clrscr();
cout<<"\n========================\n";
cout<<"Service\n";
cout<<"------------------------\n";
cout<<"1 - Vvod\n";
cout<<"2 - Zajavka\n";
cout<<"3 - Prosmotr\n";
cout<<"4 - Vihod\n";
cout<<"------------------------\n";
cin>>k;
 
    switch (k) {
 
    case 1:
        clrscr();
        cout << pend->d << "\n";
        add(&pend, i++);
        getche();
        break;
 
    case 2:
    clrscr();
 
 
   
 
 
 
 
        break;
 
    case 3:
          clrscr();
          Node *pv=pbeg->next;
            cout << "Termin                  Text";
          while (pv) {
            cout << "\n" << pv->d <<"        " << pv->termin << "        " << pv->adr ;
            pv=pv->next;
          }
            getche();
            break;
 
    case 4:
        break;
 
    }
}
            return 0;
}
  //--------------------------------------------------------------------------
  Node * first(int d){
            Node *pv=new Node;
         pv->d = d;  pv->next = 0;  pv->prev = 0;
         pv->adr="     ";
            return pv;
  }
  //--------------------------------------------------------------------------
  void add(Node * *pend, int d){
      Node *pv=new Node;
          pv->d=d; pv->next=0;
          pv->prev= *pend;
          (*pend)->next = pv;
          *pend = pv;
          Opis(pv);
  }
  void add(Node * *pend, int d, char *termin, char *adr){
      Node *pv=new Node;
          pv->d=d;
 
          pv->termin=termin;
          pv->adr=adr;
          pv->next=0;
          pv->prev= *pend;
          (*pend)->next = pv;
          *pend = pv;
  }
 
  Node * find(Node * const pbeg, char *termin) {
            Node *pv = pbeg;
            while (pv) {
            if (pv->termin == termin ) break;
            pv = pv->next;
            }
            return pv;
  }
 
   
void Opis(Node *app) {
    char *adr=new char[40], *s;
    clrscr();
    //cout << "\nKomnat\n";
//  cin >> s;
//  if (InpContr(s)) app->komn=atoi(s);
 
    cout << "\nTermin\n";
    cin >> app->termin;
    cout << "\nText\n";
    cin >> adr;
    app->adr=adr;
}
Помогите не знаю как вывести текст для заданного термина.

Добавлено через 9 часов 32 минуты
Помогите пожалуйста,нужна последняя задача что б получить зачёт.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.06.2011, 10:58     Линейный список
Посмотрите здесь:

C++ Двусвязный линейный список
Программа на линейный список C++
C++ Класс Линейный Список.
Односвязный линейный список C++
C++ Линейный двусвязный список
Линейный список C++
Вывести линейный список C++
C++ Линейный однонаправленный список
C++ Линейный список. Картотека
Линейный список C++
линейный двунаправленный список C++
Линейный односвязный список C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Aneron
157 / 156 / 12
Регистрация: 20.04.2010
Сообщений: 570
15.06.2011, 11:02     Линейный список #2
printf("%s\n",Node->termin);
или
cout << Node->termin;

я вообще сомневаюсь что этот код рабочий.
nadyusha_
0 / 0 / 1
Регистрация: 24.10.2010
Сообщений: 14
15.06.2011, 11:24  [ТС]     Линейный список #3
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Код рабочий
вот что-то вроде этого
C++
1
2
3
4
5
6
7
8
9
10
Node *pv=new Node ;
     cout << "\ntermin\n";
     char t[40];
    cin >> t;
    while(pv)
    {if(strcmp(t,pv->termin)==0)
 
    cout<<pv->adr;
 
    else pv=pv->next;  }
но ничего не выводит
Aneron
157 / 156 / 12
Регистрация: 20.04.2010
Сообщений: 570
15.06.2011, 11:39     Линейный список #4
проверьте содержимоеpv->termin. что там хранится.
Yandex
Объявления
15.06.2011, 11:39     Линейный список
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru