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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.11.2012, 15:33   #1
Аделинкка
Пользователь
 
Аватар для Аделинкка
 
Регистрация: 24.03.2012
Сообщений: 68
По умолчанию Delphi классы

Привет-привет!подскажите,п-та,как по логике решить задачу..условия даны смутно..Транспортная задача..что-то вроде этого-2 склада ,2 магазина перевозить с одного на другой склад ,потом со склада в магазин..
Вообщем-Разработать консольное приложение, моделирующее перемещение товаров между двумя складами и двумя магазинами и продажу товаров. В качестве базового создать класс TSklad с полем Tovar и с методами Move , Show , а в качестве его потомка создать класс TShop с полем Money и с методом Sale . Создать по два экземпляра каждого класса.
Указание . В интерфейсе предусмотреть вывод разделительных строк для смыслового разделения информации
Но я не понимаю немного(как это сделать немного начала
Код:
program Cons;
uses
  Windows;

{$APPTYPE CONSOLE}

//uses  SysUtils;

type
TSklad=class
  Tovar1:integer     ;
  constructor Create ;
  destructor Destroy;
  procedure Show;
  procedure Move;
end;

TShop=class(TSklad)
  Money:Integer;
  constructor Create(m:integer);
  destructor Destroy;
  procedure Sale;
  procedure Show;
end;

 Constructor TSklad.Create;//(Tovar: integer) ;
 var Tovar:integer;
 begin
  inherited Create;
   Tovar1:=Tovar;
   writeln('vvedite k-vo tovara na sklade') ;
   readln(Tovar) ;
 end;

 Destructor TSklad.Destroy;
begin
  inherited Destroy;
end;

  procedure TSklad.Show;
  begin
    writeln( 'k-vo tovarov na scklade' ,Tovar1:3);
  end;

  procedure TSklad.Move;
  var t:integer;
  begin

    writeln('******************************************');
    writeln('                                     ');
  
  end;

  Constructor TShop.Create(m:integer);
  begin 
  m:=0;
  Money:=m  ;
  end;

  Destructor TShop.Destroy;
  begin
  inherited Destroy  ;
  end;

  procedure TShop.Sale;
  begin
   writeln('******************************************');
  end;

    procedure TShop.Show;
  begin
   writeln('******************************************');
  end;


var

  S:TSklad;
  SH:TShop ;  

begin
  { TODO -oUser -cConsole Main : Insert code here }
SetConsoleTitle (' Serazetdinova 7201-11 ');
readln;

S:=TSklad.Create;
S.Show;
S.Move;
readln;

S:=TSklad.Create;
S.Show;
S.Move;
readln;

SH:=TShop.Create(0);
SH.Sale;
SH.Show;
readln;

SH:=TShop.Create(0);
SH.Sale ;
SH.Show;
readln;

S.Destroy;
SH.Destroy;
end.
Нет,не блондинка!!
Аделинкка вне форума Ответить с цитированием
Старый 13.11.2012, 15:33   #2
Аделинкка
Пользователь
 
Аватар для Аделинкка
 
Регистрация: 24.03.2012
Сообщений: 68
По умолчанию

программа пока ничего не решает.
Нет,не блондинка!!
Аделинкка вне форума Ответить с цитированием
Старый 13.11.2012, 15:54   #3
Аделинкка
Пользователь
 
Аватар для Аделинкка
 
Регистрация: 24.03.2012
Сообщений: 68
По умолчанию

Пишите любые мысли..я в тупике..что она должна делать??
Нет,не блондинка!!
Аделинкка вне форума Ответить с цитированием
Старый 13.11.2012, 18:45   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Я бы так делал:
1) TPodrazdel - класс, который либо склад либо магазин. Т.е. объект с товаром (поскольку не исключается возврат товара, порча. наводнения, или просто нерентабельный товар...)
2) TNakladn - Класс, в котором описывается куда с подразделения сколько товара передано.
TPodrazdel содержит в себе список объектов TNakladn
Для передачи товара схема така: Метод TNakladn.move(toObj:TPodrazdel) создает экземпляр класса накладной, наполняя его данными из этой накладной (т.е. как и в жизни - делается копия накладной на изьятие со склада), и помещая копию в список подразделения, на которое указывает toObj.
Сама же накладная пусть содержит список товаров, и их количество. Можно еще и стоимость с наценками

Итог: Два обьекта после перемещения товара обязаны содержать одинаковый список накладных по этому перемещению, дабы расчетно-сальдовая ведомость сошлась в ноль, когда пойдут подсчеты сколько товару убыло со склада, и сколько поступило в точку продажи. Разница между ними должна быть в нуле, поэтому и стоит хранить в каждом подразделении копию накладной со склада.

Идея понятна?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Классы (Delphi) wertret Помощь студентам 5 26.04.2012 18:42
Классы в Delphi DomiNik Помощь студентам 8 28.10.2010 00:33
классы delphi Terrance! Помощь студентам 4 19.09.2010 10:51
delphi классы Terrance! Помощь студентам 2 27.08.2010 19:31
Классы (Delphi) Kreaman Помощь студентам 2 14.02.2009 16:02