Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.04.2010, 16:54   #1
phantom4eg
Пользователь
 
Регистрация: 04.03.2009
Сообщений: 39
Печаль Работа с очередью (С++)

Ребят нужна помощь!
Вот задание: Разработка классов для работы со списками.
Взял очередь. Элементами являются числа

Организовал:
Создание очереди, добавление элемента в конец очереди,удаление элемента из начала очереди,вывод очерди,очистку очереди

Нужно добавить:
Сохранение очереди в файл!,Удаление очереди из файла!,Чтение очереди из файла!,поиск элемента,добавление\удаление элемета до\после искомого элемента,сортировка по возростанию\убыванию

Может поможет кто?

Вот что смог сам накорябать:
Код:
#include <iostream.h>
#include <conio.h>
#include <stdlib.h>
struct Elements
{
int data;
Elements *Next;
};
class List
{
   Elements * Head;
   Elements * Tail;
   char usercase;
   int Count;
public:
  List();
  ~List();
  void Add(int data);
  void Del();
  void DelAll();
  void Print();
  int GetCount();
  void AddNewElements();
  void AddNewElement();
  void Menu();
  void ExitProg();
};
List::List()
{
  Head = Tail = NULL;   
  Count = 0;
}

List::~List()
{
  DelAll();
}

void List::Del()
{
  Elements * temp = Head;
  Head = Head->Next;
  delete temp;
}

void List::DelAll()
{
  while(Head != 0)
     Del();
}

void List::Print()
{
  Elements * temp = Head;
  if (temp==NULL)
  cout<<"Elementov v spike net!!";
  while(temp != 0)
  {
     cout << temp->data << " ";
     temp = temp->Next;
  }

  cout << "\n";
}

void List::AddNewElements()
{
cout<<"Vvedite elementi(dla okonchania vvoda vvedite 0): ";
int element;
while (element!=0)
{
cin>>element;
if (element==0)
break;
else
Add(element);
}
}

void List::Add(int data)
{
  Elements * temp = new Elements;
  temp->data = data;
  temp->Next = NULL;
  if(Head!=NULL){
Tail->Next=temp;
Tail = temp;
  }
  else{
  Head=Tail=temp;
  }
}

void List::AddNewElement()
{
int data;
cout<<"Vvedite dobavlaemii element: ";
cin>>data;
  Elements * temp = new Elements;
  temp->data = data;
  temp->Next = NULL;
  if(Head!=NULL){
Tail->Next=temp;
Tail = temp;
  }
  else{
  Head=Tail=temp;
  }
}

void List::Menu()
{
cout<<"Vibirite operaciu: "<<endl;
cout<<"1. Sozdanie ocheredi"<<endl;
cout<<"2. Dobavlenie elementa v konec ocheredi"<<endl;
cout<<"3. Pokazat ochered"<<endl;
cout<<"4. Udalenie poslednego elementa ocheredi"<<endl;
cout<<"5. Ochistka ocheredi"<<endl;
cout<<"0. Vihod iz programmi"<<endl;
cout<<"\nVash vibor: ";
cout<<endl;
cin>>usercase;
switch (usercase)
{
case '0':
ExitProg();
break;
case '1':
AddNewElements();
Menu();
case '2':
AddNewElement();
Menu();
case '3':
Print();
Menu();
case '4':
Del();
Menu();
case '5':
DelAll();
Menu();
}
}
void List::ExitProg()
{
cout<<"Nazmite lubyiu klavishu dla vihoda";
getch();
}

//------------------------------------------------------------------------------
void main()
{
List lst;
lst.Menu();
}
//------------------------------------------------------------------------------
phantom4eg вне форума Ответить с цитированием
Старый 24.04.2010, 17:18   #2
phantom4eg
Пользователь
 
Регистрация: 04.03.2009
Сообщений: 39
По умолчанию

удалите тему, переношу во фриланс
phantom4eg вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с Очередью в Delphi Nitrox Помощь студентам 6 30.03.2010 18:10
Работа с очередью Ongi Общие вопросы C/C++ 1 08.01.2010 19:51