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

Динамические структуры данных. Формирование линейного списка. - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.85
poseidon
0 / 0 / 0
Регистрация: 06.12.2010
Сообщений: 21
21.01.2011, 15:39     Динамические структуры данных. Формирование линейного списка. #1
Текст помощи для некоторой программы организован в виде линейного списка.

Каждая компонента текста помощи содержит термин (слово) и текст, содержащий пояснения к этому термину. Количество строк текста, относящихся к одному термину, составляет от одной до пяти.

Написать программу, которая обеспечивает:

□ начальное формирование текста помощи;

□ вывод текста помощи;

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

Программа должна обеспечивать диалог с помощью меню и контроль ошибок при вводе.

Послезавтра зачет, преподаватель толком ничего не объяснил, кроме основы. Заранее спасибо!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.01.2011, 15:39     Динамические структуры данных. Формирование линейного списка.
Посмотрите здесь:

C++ динамические структуры данных
C++ Динамические структуры данных
C++ Динамические структуры данных
C++ [C++] Динамические структуры данных
Динамические структуры данных C++
C++ [C++] Динамические структуры данных
Динамические структуры данных. Сформировать динамический список, описать функцию, которая удаляет из списка за каждым вхождением элемента Е C++
Динамические структуры данных C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
igorrr37
 Аватар для igorrr37
1593 / 1221 / 118
Регистрация: 21.12.2010
Сообщений: 1,868
Записей в блоге: 7
21.01.2011, 18:59     Динамические структуры данных. Формирование линейного списка. #2
Добавлено через 1 час 51 минуту
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
#include <iostream>
using namespace std;
 
template<class T>
struct node{
    T term;
    T expl;
    node* next;
    node():next(0){}
    node(T a, T b):next(0), term(a), expl(b){}
};
 
template<class T>
struct list{
    node<T>* head;
    list():head(0){}
    void add(T, T);
    void show();
    void help(T);
};
 
template<class T>
void list<T>::add(T a, T b){
    node<T>* temp=new node<T>(a, b);
    if(head==0) head=temp;
    else{
        node<T>* t=head;
        while(t->next!=0) t=t->next;
        t->next=temp;
    }
}
 
template<class T>
void list<T>::show(){
    node<T>* temp=head;
    while(temp!=0){
        cout<<temp->term<<"\n"<<temp->expl<<"\n\n";
        temp=temp->next;
    }
}
 
template<class T>
void list<T>::help(T t){
    node<T>* temp=head;
    while(temp!=0){
        if(temp->term==t){
            cout<<temp->expl<<"\n";
            return;
        }
        else temp=temp->next;
    }
    cout<<"Term not found\n";
}
 
template<class T>
void formList(list<T>& l){
    cout<<"Formirovanie spiska pomoschi: \n";
    string t, e;
    while(true){
        cout<<"input term(0 exit into menu)\n";
        getline(cin, t);
        if(t=="0") break;
        cout<<"input explanation\n";
        getline(cin, e);
        l.add(t, e);
        cout<<"\n";
    }
};
 
template<class T>
void showList(list<T>& l){
    cout<<"\nProsmotr spiska pomoschi: \n";
    if(l.head==0) cout<<"Spisok pust\n";
    else l.show();
};
 
template<class T>
void searchList(list<T>& l){
    string t;
    cout<<"\n\nVvedite termin dlya poiska(0 exit into menu)\n";
    while(true){
        getline(cin, t);
        if(t=="0") break;
        l.help(t);
    }
};
 
int main(){
    list<string> l;
    int opt;
    while(true){
        cout<<"\n"
        "1 - Formirovanie spiska pomoschi\n"
        "2 - Prosmotr spiska pomoschi\n"
        "3 - Poisk termina v spiske\n"
        "0 - Exit\n";
        cin>>opt;
        cin.ignore();
        switch(opt){
            case 1: formList(l);   break;
            case 2: showList(l);   break;
            case 3: searchList(l); break;
            case 0: return 0;
            default: cout<<"Wrong option\n";
        }
    }
}
Yandex
Объявления
21.01.2011, 18:59     Динамические структуры данных. Формирование линейного списка.
Ответ Создать тему
Опции темы

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