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

Разработать класс с набором функций для управления односвязным списком - C++

Восстановить пароль Регистрация
 
max33x
0 / 0 / 0
Регистрация: 07.11.2012
Сообщений: 27
09.11.2012, 13:54     Разработать класс с набором функций для управления односвязным списком #1
Добрый день, форумчане!
Обращаюсь к вам с просьбой, с чего начать мне выполнение данного задания, какие элементы использовать. Или хотя бы небольшой пример создания такого класса.

Разработать класс с набором функций для управления односвязным списком. Набор функций включает в себя:

- функцию добавления элемента в список;

- функцию удаления выбранного элемента из списка;

- функцию редактирования элементов списка;

- вывод списка на экран;

Вызовы перечисленных функций, а также выход из программы, осуществляются через меню.

Список результатов метеорологических наблюдений по месяцам. Элемент списка хранит следующие данные: период наблюдения (месяц и год), количество дней месяца, количество выпавших осадков, количество облачных дней, количество дней с переменной облачностью. Определить количество облачных дней в заданном году.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.11.2012, 13:54     Разработать класс с набором функций для управления односвязным списком
Посмотрите здесь:

C++ Построить класс для работы с односвязным списком. Создать два списка: List1 и List2. Проверить, содержатся ли элементы списка List1 в списке List2 в у
C++ Работа с односвязным списком
Построить класс для работы с односвязным списком C++
Задачу с использованием STL. Разработать шаблон класса для работы с односвязным списком C++
Построить класс для работы с односвязным списком C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Юля_программист
 Аватар для Юля_программист
448 / 103 / 13
Регистрация: 04.05.2012
Сообщений: 522
Записей в блоге: 1
09.11.2012, 15:57     Разработать класс с набором функций для управления односвязным списком #2
С изучения, что такое класс)

Вот все чем могу помочь(сама новичок), вот класс и как бы только названия функций, не густо, но может хоть как то тебе поможет)
C++
1
2
3
4
5
6
7
class metio
{public:
void add_item(); //добавляем элементы, может она и не void
void delete_item();//удаляем, может она и не void, это узнаешь когда тела напишешь
void edit_item(); //редактирование
void put();//вывод
}

Не по теме:

А вот задача мне понравилась, попробую как нибудь сама такое изобразить)

max33x
0 / 0 / 0
Регистрация: 07.11.2012
Сообщений: 27
09.11.2012, 16:02  [ТС]     Разработать класс с набором функций для управления односвязным списком #3
Цитата Сообщение от Юля_программист Посмотреть сообщение
С изучения, что такое класс)

Вот все чем могу помочь(сама новичок), вот класс и как бы только названия функций, не густо, но может хоть как то тебе поможет)
C++
1
2
3
4
5
6
7
class metio
{public:
void add_item(); //добавляем элементы, может она и не void
void delete_item();//удаляем, может она и не void, это узнаешь когда тела напишешь
void edit_item(); //редактирование
void put();//вывод
}

Не по теме:

А вот задача мне понравилась, попробую как нибудь сама такое изобразить)

Ага, понял, спасибо)
Есть пока за что зацепиться)
Юля_программист
 Аватар для Юля_программист
448 / 103 / 13
Регистрация: 04.05.2012
Сообщений: 522
Записей в блоге: 1
09.11.2012, 16:04     Разработать класс с набором функций для управления односвязным списком #4
Рада, что хоть чем это помогло)
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11836 / 6815 / 770
Регистрация: 27.09.2012
Сообщений: 16,900
Записей в блоге: 2
Завершенные тесты: 1
09.11.2012, 16:12     Разработать класс с набором функций для управления односвязным списком #5
Цитата Сообщение от max33x Посмотреть сообщение
Обращаюсь к вам с просьбой, с чего начать мне выполнение данного задания, какие элементы использовать
Для начала нужно сформулировать для себя, что же такое связанный список. Если Вы не понимаете что это такое, то сначала почитайте на эту тему литературу.

Потом нарисуйте себе на листе бумаге структуру будущего списка и стройте свой класс согласно заранее определенной структуре.

Цитата Сообщение от max33x Посмотреть сообщение
Или хотя бы небольшой пример создания такого класса.
Не знаю, пойдет или нет, тут стэк на основе связанного списка.
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
137
#include <iostream>
#include "state.h"
using std::cout;
using std::cin;
using std::endl;
 
 
void Function1(int d){
cout<<"\tВызвана функция Function1 с параметром d = "<<d<<endl;
}
void Function2(int d){
cout<<"\tВызвана функция Function2 с параметром d = "<<d<<endl;
}
void Function3(int d){
cout<<"\tВызвана функция Function3 с параметром d = "<<d<<endl;
}
 
int main(){
StatesManager SM;
setlocale(LC_ALL,"Rus");
int q,nf;
void (*pF)(int);
do{
system("cls");
cout<<"Колличество состояний в стеке: "<<SM.GetCount()<<endl;
cout<<"Вызов текущей функции: "<<endl;
SM.ExecuteHead();
cout<<"Выберите действие (EXIT - 0; PUSH - 1; POP 2): ";
cin>>q;
cout<<endl;
 
if (q==1){
cout<<"Выберите функцию (1,2,3): ";
cin>>nf;
cout<<endl;
pF=0;
switch (nf){
case 1:
pF=Function1;
break;
case 2:
pF=Function2;
break;
default:
pF=Function3; break;
}
}
switch(q){
case 1:
SM.StatePush(pF);
break;
case 2:
SM.StatePop();
break;
default:
q=0; break;
}
}while(q);
 
return 0;
}
 
//////////////////////////////////////////////////////////////////////////
//////////////////////////////state.h////////////////////////////////////
/////////////////////////////////////////////////////////////////////////
#ifndef _STACK_H_
#define _STACK_H_
 
class StatesManager{
private:
typedef struct STATE{
void (*Func)(int);
STATE *pNext;
} STATE;
STATE * pStates;
int nCount;
public:
int GetCount();
StatesManager();
~StatesManager();
bool StatePush(void (*Func)(int));
bool StatePop();
void ExecuteHead();
};
 
#endif//_STACK_H_
 
 
 
//////////////////////////////////////////////////////////////////////////
////////////////////////////state.cpp///////////////////////////////////
//////////////////////////////////////////////////////////////////////////
#include "state.h"
 
StatesManager::StatesManager(){
this->nCount=0;
this->pStates=0;
}
 
StatesManager::~StatesManager(){
STATE *pS;
while(pStates){
pS=pStates;
pStates=pStates->pNext;
delete pS;
}
}
 
int StatesManager::GetCount(){return this->nCount;}
 
bool StatesManager::StatePush(void (*Function)(int)){
if (Function==0)
return false;
STATE *pNS=new STATE;
pNS->Func=Function;
pNS->pNext=this->pStates;
this->pStates=pNS;
this->nCount++;
return true;
}
bool StatesManager::StatePop(){
if (!pStates)
return false;
STATE *pTS;
pTS=this->pStates;
this->pStates=this->pStates->pNext;
delete pTS;
this->nCount--;
if (!pStates)
return false;
return true;
}
void StatesManager::ExecuteHead(){
if(pStates){
pStates->Func(this->nCount);
}
}
Юля_программист
 Аватар для Юля_программист
448 / 103 / 13
Регистрация: 04.05.2012
Сообщений: 522
Записей в блоге: 1
09.11.2012, 16:12     Разработать класс с набором функций для управления односвязным списком #6
http://cpp.com.ru/shildt_spr_po_c/22/2205.html

Вот)

И еще ищу в гугле однозвязный список)
Yandex
Объявления
09.11.2012, 16:12     Разработать класс с набором функций для управления односвязным списком
Ответ Создать тему
Опции темы

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