Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
nadyusha_
0 / 0 / 1
Регистрация: 24.10.2010
Сообщений: 14
#1

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

15.06.2011, 10:58. Просмотров 715. Ответов 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 минуты
Помогите пожалуйста,нужна последняя задача что б получить зачёт.
http://www.cyberforum.ru/cpp-beginners/thread395824.html
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.06.2011, 10:58
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Линейный список (C++):

Задали односвязный линейный список с целыми числами. Создать новый список, который содержит элементы заданного списка в обратном порядке
Задали односвязный линейный список с целыми числами. Создать новый список,...

Линейный список
Есть такая детская считалка: n детей стали в круг. Начиная отсчет от первого,...

Линейный список
Нужно написать курсовую по с++, не используя стандартных методов. Подскажите...

Линейный Двусвязный список!
Задание:Создайте шаблон функции, которая удаляет из данного списка все...

Линейный односвязный список
Помогите пожалуйста! 1) создать линейный односв список и вывести его...

3
Aneron
159 / 158 / 25
Регистрация: 20.04.2010
Сообщений: 576
15.06.2011, 11:02 #2
printf("%s\n",Node->termin);
или
cout << Node->termin;

я вообще сомневаюсь что этот код рабочий.
0
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;  }
но ничего не выводит
0
Aneron
159 / 158 / 25
Регистрация: 20.04.2010
Сообщений: 576
15.06.2011, 11:39 #4
проверьте содержимоеpv->termin. что там хранится.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.06.2011, 11:39
Привет! Вот еще темы с решениями:

Линейный односвязный список
List *begin = NULL; begin = new List; List *begin1 = NULL; begin1 = new...

Двусвязный линейный список
Дан Двусвязный линейный список. ну например фамилия и имя. как сделать...

Односвязный линейный список
Текст помощи для не которой программы организован в виде линейного списка...

Вставка в линейный список
Привет всем, не пойму почему функция insert не правильно работает(, а в...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

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