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

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

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

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

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

Вставить в линейный список перед элементом с заданным значением другой линейный список - C++
Как можно вставить в линейный список перед элементом с заданным значением другой линейный список? Как один элемент вставлять, я знаю, а вот...

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

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

Линейный список - C++
Есть такая детская считалка: n детей стали в круг. Начиная отсчет от первого, убирают каждого k-го ребёнка, замыкая круг после каждого...

Линейный однонаправленный список - C++
Добрый вечер! Задача: L – линейный однонаправленный список Проверить, упорядочены ли элементы списка по алфавиту. Подскажите...

Линейный динамический список - C++
1. Напишите программу, создающую линейный динамический список, указанный в задании. Значения элементов вводятся с консоли. Вам понадобятся...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Aneron
158 / 157 / 12
Регистрация: 20.04.2010
Сообщений: 570
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
158 / 157 / 12
Регистрация: 20.04.2010
Сообщений: 570
15.06.2011, 11:39 #4
проверьте содержимоеpv->termin. что там хранится.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.06.2011, 11:39
Привет! Вот еще темы с ответами:

Двусвязный линейный список - C++
Здравствуйте. Помогите пожалуйста в написании программы: Реализовать класс на основе двусвязного линейного списока Реализовать в нем...

Линейный однонаправленный список - C++
всем доброго времени не получается создать функцию слияния двух списков методом расчесок( допустим первый список 1 3 5 второй 2 4 6 а после...

Вывести линейный список - C++
Необходимо создать линейный список упорядоченный по фамилиям и вывести его на экран. Код вроде написал. но есть сомнения в правильности...

Линейный односвязный список - C++
void Read() { Node *cur = head; ifstream if_read; if_read.open(&quot;BDname.txt&quot;); if (!if_read){ cout &lt;&lt; &quot;нет BDname.txt&quot; &lt;&lt;...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
15.06.2011, 11:39
Ответ Создать тему
Опции темы

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