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

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

Войти
Регистрация
Восстановить пароль
 
Azdeman
Фрилансер
Эксперт HTML/CSSЭксперт PHP
1707 / 1251 / 333
Регистрация: 12.01.2011
Сообщений: 4,947
#1

Написать программу помощи - C++

09.02.2011, 16:26. Просмотров 415. Ответов 6
Метки нет (Все метки)

Здравствуйте , вот нужно зделать Программу

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

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

Написать нужно не с помощью классов ,а с помощью динамических структур ... Мы классы еще не учили .

Добавлено через 1 минуту
Вот так с помощью классов,а мне нужно что бы с помощью динамическиз структур


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";
        }
    }
}
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.02.2011, 16:26
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Написать программу помощи (C++):

Написать программу расшифровки сообщения, зашифрованного при помощи двоичного кода - C++
Пусть по некоторому каналу связи передается сообщение которое имеет вид последовательности нулей и едениц. Через помехи возможен ошибочный...

Написать программу учета сдачи зачетов при помощи битовых полей (исправить код) - C++
Вобщем задача была изначально такова: Написать программу учета сдачи зачетов при помощи битовых полей. Структура содержит поля: фамилия,...

Написать программу,которая находит среднее значение массива целых чисел при помощи функции - C++
Написать программу,которая находит среднее значение массива целых чисел при помощи функции. (на С++)

Как данную программу реализовать при помощи классов - C++
как данную программу реализовать при помощи классов ~cpp ...

Напишите программу, при помощи которой можно рассчитать доход по вкладу - C++
2. Напишите программу, при помощи которой можно рассчитать доход по вкладу. Исходные данные для расчета — сумма и срок вклада (1, 3, 6 или...

Составить программу для решения задачи с целыми числами при помощи циклов - C++
Что за бред...Как это сделать? Составить программу для решения задачи с целыми числами при помощи циклов. Долгожитель (возраст не...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
igorrr37
1647 / 1275 / 133
Регистрация: 21.12.2010
Сообщений: 1,932
Записей в блоге: 7
09.02.2011, 16:37 #2
нет здесь классов, только две структуры, а слово class можно заменить на typename
0
Azdeman
Фрилансер
Эксперт HTML/CSSЭксперт PHP
1707 / 1251 / 333
Регистрация: 12.01.2011
Сообщений: 4,947
09.02.2011, 16:41  [ТС] #3
Цитата Сообщение от igorrr37 Посмотреть сообщение
typename
Тогда вот так получиться да ???

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<typename>
struct node{
    T term;
    T expl;
    node* next;
    node():next(0){}
    node(T a, T b):next(0), term(a), expl(b){}
};
 
template<typename>
struct list{
    node<T>* head;
    list():head(0){}
    void add(T, T);
    void show();
    void help(T);
};
 
template<typename>
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<typename>
void list<T>::show(){
    node<T>* temp=head;
    while(temp!=0){
        cout<<temp->term<<"\n"<<temp->expl<<"\n\n";
        temp=temp->next;
    }
}
 
template<typename>
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<typename>
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<typename>
void showList(list<T>& l){
    cout<<"\nProsmotr spiska pomoschi: \n";
    if(l.head==0) cout<<"Spisok pust\n";
    else l.show();
};
 
template<typename>
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";
        }
    }
}
0
igorrr37
1647 / 1275 / 133
Регистрация: 21.12.2010
Сообщений: 1,932
Записей в блоге: 7
09.02.2011, 16:45 #4
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
вот без шаблонов
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
#include <iostream>
using namespace std;
 
struct node{
string term;
string expl;
node* next;
node():next(0){}
node(string a, string b):next(0), term(a), expl(b){}
};
 
struct list{
node* head;
list():head(0){}
void add(string, string);
void show();
void help(string);
};
 
void list::add(string a, string b){
node* temp=new node(a, b);
if(head==0) head=temp;
else{
node* t=head;
while(t->next!=0) t=t->next;
t->next=temp;
}
}
 
void list::show(){
node* temp=head;
while(temp!=0){
cout<<temp->term<<"\n"<<temp->expl<<"\n\n";
temp=temp->next;
}
}
 
void list::help(string t){
node* temp=head;
while(temp!=0){
if(temp->term==t){
cout<<temp->expl<<"\n";
return;
}
else temp=temp->next;
}
cout<<"Term not found\n";
}
 
void formList(list& 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";
}
};
 
void showList(list& l){
cout<<"\nProsmotr spiska pomoschi: \n";
if(l.head==0) cout<<"Spisok pust\n";
else l.show();
};
 
void searchList(list& 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 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";
}
}
}
0
Azdeman
Фрилансер
Эксперт HTML/CSSЭксперт PHP
1707 / 1251 / 333
Регистрация: 12.01.2011
Сообщений: 4,947
09.02.2011, 16:50  [ТС] #5
Спосибо большое =)

Добавлено через 2 минуты
А еще один вопрос .... Вот так и надо без шаблонов?? ..
0
igorrr37
1647 / 1275 / 133
Регистрация: 21.12.2010
Сообщений: 1,932
Записей в блоге: 7
09.02.2011, 17:03 #6
да, вы их ещё не изучали, раз классы не знаете
1
Azdeman
Фрилансер
Эксперт HTML/CSSЭксперт PHP
1707 / 1251 / 333
Регистрация: 12.01.2011
Сообщений: 4,947
09.02.2011, 17:05  [ТС] #7
ну да мы еще Шаблоны не изучяем ... Спасибо вам.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.02.2011, 17:05
Привет! Вот еще темы с ответами:

Написать класс по строительству домов. Написать программу, демонстрирующую работу с классом. - C++
Собственно, в С++ немного насасываю, код читать умею, а прогать - нет. К сожалению, обстоятельства сложились так, что я поступил именно...

Надо написать программу на while или do while и написать алгоритм - C++
Помогите пожалуйста с задачей:(. Даны действительные числа x , y ( x &gt; 1). Получить наименьшее число вида xn,что превышает y , где n -...

Написать программу, которая выводит значения факториалов чисел от 0 до N. Для вычисления факториала числа написать функцию пользователя - C++
Написать программу, которая выводит значения факториалов чисел от 0 до N. Для вычисления факториала числа написать функцию пользователя.

Разработать алгоритм и тесты, написать и отладить программу Выполнить программу, проанализировать результат - C++
Из матрицы У(k, k) получить вектор Т, элементами которого являются элементы главной диагонали матрицы.


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

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

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