Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Список элементов, c++Builder6 
:(
    Опции темы
Fil75
Дата 17.6.2006, 22:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 23.5.2006

Репутация: нет
Всего: нет



Уважаемые программисты помогите пожалуйста. Я совсем запарился с этими элементами.
Тему не понял и почитать об этом не знаю где. В общем начали проходить тему Классы. И вот список элементов через создание объектов я не понял. Ранее через структуры и указатели список элементов проходили. Я эту тему упустил и теперь трудно разобраться.
Нужно продолжить программу не меняя кода. Только дополнить новым методом ausgeben_new() – который бы выводил список элементов в обратном порядке. И вызвать этом метод в конце программы. После метода ausgeben(). 
#include <iostream.h>
 class listenelement
 {
   char daten[30];
   listenelement* next;

   public:
          void setdaten(char datenneu[30]);     //копируем данные
          void init();                          //инициализация
          void einfuegen (char datenneu[30]);   //новый элемент вводим
          void ausgeben();                      // на экран
          void ende();                          //удаляем все элементы
          void ausgeben_new(char datenneu[30]); // элементы в обратном порядке
 };

 //--------------------------------------------------------------
 //Methoden:

 void listenelement::setdaten(char datenneu[30])
 {
  strcpy(daten,datenneu);
 }
  void listenelement::init()
 {
  next=NULL;
 }
  void listenelement::einfuegen(char datenneu[30])// новый объект
 {
  if (next==NULL)
    {
      next = new(listenelement);
      next->init();
      next->setdaten(datenneu);
     }
  else
     {
      next->einfuegen(datenneu);
     }
  }
  void listenelement::ausgeben()
   {
    cout << daten << '\n';
     if (next != NULL)
      {
       next->ausgeben();
      }
    }

     void listenelement::ende()
     {
      if (next != NULL)
        {
         next->ende();
         delete(next);
        }
     }
    listenelement* liste;
void listenelement::ausgeben_new(char datenneu[30]) //список в обратном порядке
//? ??
    //Funktions
    void init()
    {
     liste= new(listenelement);
     liste->init();
     liste->setdaten("Element 0");
    }
    void ende()
    {
     liste->ende();
     delete(liste);
     liste=NULL;
    }
    void main()
    {
     init();
     liste->einfuegen("Element 1");
     liste->einfuegen("Element 2");
     liste->ausgeben();
     ende();

     char p[50];
     cin.getline(p,50);
    }
 
PM MAIL   Вверх
dumb
Дата 18.6.2006, 00:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sceloglauxalbifacies
****


Профиль
Группа: Экс. модератор
Сообщений: 2929
Регистрация: 16.6.2006

Репутация: 32
Всего: 158



Код

    void listenelement::ausgeben_new() //список в обратном порядке
    {
      if (next != NULL)
      {
       next->ausgeben_new();
      }
      cout << daten << '\n';
    }

 
PM MAIL   Вверх
Fil75
Дата 20.6.2006, 23:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 23.5.2006

Репутация: нет
Всего: нет



Спасибо Вам большое! Вы мне очень помогли . Все работает правильно. 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0901 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.