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

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

Вернуться   Форум программистов > Работа для программиста > Фриланс
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.10.2017, 11:26   #1
goto ∞
Форумчанин
 
Аватар для goto ∞
 
Регистрация: 21.12.2010
Сообщений: 155
По умолчанию Доработка задание на написание учебной программы.

Имеется задача написать программу Книжный магазин с использованием ООП. Вот отрывок из задания
Выделил черным ту часть в которой запаролся
Код:
Разработать объектную программу для хранения и обработки данных о книгах, выставляемых на продажу в магазине. Книжный магазин рассматривается как набор тематических отделов, где каждый отдел имеет уникальное название. В свою очередь, каждый отдел рассматривается как набор книг, причем каждая книга имеет уникальное название, автора и параметр «Число экземпляров».
Разработка включает в себя определение необходимых объектов и описание их в виде классов, программную реализацию методов добавления и удаления отделов и книг с подсчетом суммарного числа книг, всестороннее тестирование методов с помощью консольного (при разработке) и оконного (в окончательном варианте) приложения.
Для объединения отделов в рамках магазина используется структура данных в виде адресного замкнутого (кольцевого) упорядоченного однонаправленного списка без заголовка. Для объединения книг в отделах  используется  очередь на основе обычного массива со сдвигом элементов.
Классы Книга и Отдел и их методы написал.
Класс Магазин описан, но часть методов такие как добавление и удаление элементов отсутствует. Так же нету методы сохранения всей этих объектов в файл, можно в типизированный можно и в текстовой, главное что бы можно было обратно загрузить.

Сам класс Магазин. Приведу весь код

Код:

uses
  Classes, SysUtils, Book, Otdel, Unit1;


     //Элемент магазина
     type
      TMagazinItem = class
         private
             Next : TMagazinItem;                                 //Следующий элемент
             Otdel: TOtdel;
         public
             constructor Create(pNext:TMagazinItem; pOtdel : TOtdel ); overload;
             destructor Destroy;
             function GetNext : TMagazinItem;
             function GetOtdel : TOtdel;
             procedure SetNext(pNext : TMagazinItem);
             procedure SetOtdel(pOtdel : TOtdel);
         end;

      type
        OtdelListContainer = class
            private
                Name : string;
                First: TMagazinItem;
            public
                constructor Create(pName : string);
                function GetFirst : TMagazinItem;
                function GetName : string;
                procedure Add(pName : string; pFirst : tOtdel);
                function  Del(pName : string) : boolean;
                function Search(pName : string) : TMagazinItem;

                function SaveMagazin( pName : string): boolean;  //Сохранить
                function LoadMagazin( pName : string): boolean;  //Загрузить
                function GetCBook : integer;                     //Количество книг
        end;

implementation

     //Методы отделов
   constructor OtdelListContainer.Create(pName : string);
   begin
   Name := pName;
   end;

   function OtdelListContainer.GetFirst : TMagazinItem;
   begin
   GetFirst := First;
   end;

   function OtdelListContainer.GetName : string;
   begin
   GetName := Name;
   end;

   procedure OtdelListContainer.Add(pName : string; pOtdel : tOtdel);
   begin
   Name := pName; Otdel := pOtdel;
   end;

   function  OtdelListContainer.Del(pName : string) : boolean;
   begin

   end;

   function OtdelListContainer.Search(pName : string) : TMagazinItem;
   begin

   end;

   function OtdelListContainer.GetCBook : integer;
   begin

   end;

   function OtdelListContainer.SaveMagazin( pName : string):boolean;
   begin
   end;

   function OtdelListContainer.LoadMagazin( pName : string):boolean;
   begin
   end;

   {--------------------------------------------------------------------------------------------}

    //Методы магазина
    constructor TMagazinItem.Create(pNext:TMagazinItem; pOtdel : TOtdel ); overload;
    begin
    Next := nil; Otdel := nil;
    end;

    destructor TMagazinItem.Destroy;
    begin
    inherited Destroy;
    end;

    function TMagazinItem.GetNext : TMagazinItem;
    begin
    GetNext := Next;
    end;

    function TMagazinItem.GetOtdel : TOtdel;
    begin
    GetOtdel := Otdel
    end;

    procedure TMagazinItem.SetNext(pNext : TMagazinItem);
    begin
    Next := pNext;
    end;

    procedure TMagazinItem.SetOtdel(pOtdel : TOtdel);
    begin
    Otdel := pOtdel;
    end;

{--------------------------------------------------------------------------------------------}
   end.
Красным выделил тот участок где компилятор ругает с ошибкой
magazin.pas(62,33) Error: function header "Add" doesn't match forward : var name changes pFirst => pOtdel
goto ∞ вне форума Ответить с цитированием
Старый 03.10.2017, 11:55   #2
MansMI
Пользователь
 
Регистрация: 04.07.2012
Сообщений: 32
По умолчанию

mansmi@rambler.ru пишите
MansMI вне форума Ответить с цитированием
Старый 03.10.2017, 12:48   #3
goto ∞
Форумчанин
 
Аватар для goto ∞
 
Регистрация: 21.12.2010
Сообщений: 155
По умолчанию

Цитата:
Сообщение от MansMI Посмотреть сообщение
mansmi@rambler.ru пишите
Написал
goto ∞ вне форума Ответить с цитированием
Старый 03.10.2017, 13:46   #4
goto ∞
Форумчанин
 
Аватар для goto ∞
 
Регистрация: 21.12.2010
Сообщений: 155
По умолчанию

Актуально
goto ∞ вне форума Ответить с цитированием
Старый 03.10.2017, 17:29   #5
JIeIIIa
Пользователь
 
Регистрация: 21.12.2011
Сообщений: 54
По умолчанию

Если еще актуально, пишите: stealth(собака)bigmir.net
Сразу указывайте на когда нужна работа и предполагаемый бюджет.
JIeIIIa вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Написание текста. Тестовое задание sologub Фриланс 3 19.01.2015 05:13
Доработка CMS. Задание на Фриланс macec Фриланс 5 08.12.2013 20:19
Доработка программы на С++ Foxtrot_1 Фриланс 5 05.05.2013 17:18
Доработка программы. ddlovato Помощь студентам 2 28.12.2011 12:40
Доработка программы akialex Помощь студентам 3 24.12.2009 21:09