Задача



там где выделено жирным выбивает ошибку:
Fatal: Syntax error, ";" expected but "." found
но ведь там точно "." должна быть!
вот мое решение...


type TVirobnik=class(TObject)
  name:string;
  kraina:string;
  constructor Create(aname:string; akraina:string);
end;
  type TSklad=class(TObject)
   narkotik: String;
   vaga: integer;
   constructor Create(anarkotik: String; avaga: integer);
   function dodvart:integer;
  end;
  type TLiksas=class(TObject)
   Sklad: TSklad;
   Virobnik: TVirobnik;
   data:integer;
   vartist: integer;
  constructor Create(anarkotik,aname,akraina:string; adata,avartist,avaga:integer);
  destructor Destroy; override;
  procedure Getnewvaga (avaga:integer);
  function zagvartist:integer;
  constructor TLiksas.Create (anarkotik,aname,akraina:string; adata,avartist,avaga:integer);
   begin
    inherited Create;
    Sklad:=TSklad.Create(narkotik,vaga);
    Virobnik:=TVirobnik.Create(name,kraina);
    data:=adata;
    vartist:=avartist;
  end;
destructor TLiksas.Destroy; override;
  begin
   Sklad.Free;
   Virobnik.Free;
    inherited Destroy;
  end;
procedure TLiksas.Getnewvaga(avaga:integer);
begin
  vaga:=avaga;
  end;
function TLiksas.Zagvartist:integer
  begin
   Zagvartist:=dodvart+vartist;
  end;
constructor TSklad.Create(anarkotik: String; avaga: integer);
begin
  inherited Create;
  narkotik:= anarkotik;
   vaga:= avaga;
end;
function TSklad.Dodvart:integer;
begin
  dodvart:=FloatToStr(vaga)*10000;
end;
constructor TVirobnik.Create(aname:string; akraina:string);
begin
  inherited Create;
   name:=aname;
   kraina:akrain



a;
end;
var z:TLiksas;
    v:integer;
begin
z:=TLiksas.Create('tak',50,'koks','Ukraine',25.03,100);
writeln (z.info);
readln;
writeln('vvedit novu vaga');
readln(v);
z.getnewvaga(v);
writeln (z.info);
z.Free;
readln;
end.

Комментарии (6)

Nimo 24. марта, 2014.г.  
 0 0
Закройте объявление класса.
  type TLiksas=class(TObject)
   Sklad: TSklad;
   Virobnik: TVirobnik;
   data:integer;
   vartist: integer;
  constructor Create(anarkotik,aname,akraina:string; adata,avartist,avaga:integer);
  destructor Destroy; override;
  procedure Getnewvaga (avaga:integer);
  function zagvartist:integer;
End;
Агент 24. марта, 2014.г.  
 0 0
Ой, имя Евгений уже как десять лет неактуально, Дэн как минимум.

Если он просит точку с запятой, дай ему точку с запятой.
И приведи свой код в порядок, красивый код лучше работает.
Евгений_Ваганыч (32) 24. марта, 2014.г.  
 0 0
Ой, паскаль уже не актуально. C++ как минимум.
krobior 24. марта, 2014.г.  
 0 0
И вообще мне кажется, что получилась какая-то каша из классов. Может их можно как-то аккуратнее в коде организовать? По порядку что ли каждый описать хотя бы.
krobior 24. марта, 2014.г.  
 0 0
Очень давно не видел паскаля, но попробую.

Не нужно точку, просто "constructor Create" как у тебя есть выше. с деструктором так же.

http://www.tutorialspoint.com/pascal/pascal_classes.htm
Хупер (33) 24. марта, 2014.г.  
 0 0
не шпрехен украиниан
Похожие записи

Lenokk