сделайте возврат в меню пожалуйста

uses GraphABC;

type Shape = auto class x, y: integer; color: GraphABC.Color;

    procedure Draw(); abstract;
end;

Rectangle = class(Shape)        
    x1, y1: integer;
   
    constructor Create(x, y, x1, y1: integer; color: GraphABC.Color);
    begin
        self.x := x;
        self.x1 := x1;
        self.y := y;
        self.y1 := y1;
        self.color := color;
    end;
   
    procedure Draw(); override;
    begin
        brush.Color := color;
        GraphABC.Rectangle(x, y, x1, y1);
       
        brush.Color := GraphABC.Color.Transparent;
    end;
end;

Circle = class(Shape)
    r: integer;
   
    constructor Create(x, y, r: integer; color: GraphABC.Color);
    begin
        self.x := x;
        self.y := y;
        self.r := r;
        self.color := color;
    end;
   
    procedure Draw(); override;
    begin
        brush.Color := color;
        GraphABC.Circle(x, y, r);
       
        brush.Color := GraphABC.Color.Transparent;
    end;
end;

Line = class(Shape)
    p1,p2,o1,o2: integer;
   
    constructor Create( p1,p2,o1,o2: integer; color: GraphABC.Color);
    begin
        self.p1 := p1;
        self.o1 := o1;
        self.p2 := p2;
        self.o2 := o2;
        self.color := color;
    end;
   
    procedure Draw(); override;
    begin
        brush.Color := color;
        GraphABC.Line( p1,p2,o1,o2);
       
        brush.Color := GraphABC.Color.Transparent;
    end;
end;
  Triangle = class(Shape)
    x1, y1, x2, y2: integer;

    constructor Create(x, y, x1, y1, x2, y2: integer; color: GraphABC.Color);
    begin
        self.x := x;
        self.x1 := x1;
        self.x2 := x2;
        self.y := y;
        self.y1 := y1;
        self.y2 := y2;
        self.color := color;
    end;
   
    procedure Draw(); override;
    begin
        brush.Color := color;
       
        var points := new GraphABC.Point[3](new GraphABC.Point(x, y),
                                            new GraphABC.Point(x1, y1),
                                            new GraphABC.Point(x2, y2));
        GraphABC.Polygon(points);
        brush.Color := GraphABC.Color.Transparent;
    end;
end;

function ChooseColor(color_name: string): GraphABC.Color; begin case color_name of ’красный’: result := GraphABC.Color.Red; ‘оранжевый’: result := GraphABC.Color.Orange; ‘желтый’: result := GraphABC.Color.Yellow; ‘зеленый’: result := GraphABC.Color.Green; ‘голубой’: result := GraphABC.Color.LightCyan; ‘синий’: result := GraphABC.Color.Blue; ‘фиолетовый’: result := GraphABC.Color.Magenta;

end;

end;

function ChooseFigure(figure_type: string; color: GraphABC.Color): Shape; begin case figure_type of ’прямоугольник’: result := new Rectangle(500, 400, 170, 170, color); ‘квадрат’: result := new Rectangle(200, 200, 400, 400, color); ‘круг’: result := new Circle(320, 250, 100, color); ‘линия’: result := new Line(300,100,400,100,color); ‘треугольник’: result := new Triangle(250, 350, 300, 250, 350, 350, color); end; end; begin writeLn(‘Программа содержит модуль graph и классы геометрических фигур’); writeLn(‘Для продолжения нажмите entr’); readln();

begin clearwindow; writeLn(‘Напишите один из семи цветов спектора:’); writeLn(’’); writeLn(‘1-красный’); writeLn(‘2-оранжевый’); writeLn(‘3-желтый’); writeLn(‘4-зеленый’); writeLn(‘5-голубой’); writeLn(‘6-синий’); writeLn(‘7-фиолетовый’); writeLn(’’); var color_name := ReadString(); var color := ChooseColor(color_name); clearwindow; writeLn(‘Выберите одну их четырех фигур:’); writeLn(’’); writeLn(‘1-треугольник’); writeLn(‘2-круг’); writeLn(‘3-квадрат’); writeLn(‘4-прямоугольник’); writeLn(‘5-линия’); var figure_type := ReadString(); var figure := ChooseFigure(figure_type, color); clearwindow; figure.Draw();

end; end.

нужно очень срочно пожалуйста. вот код правильно вставленный

uses
GraphABC;

type
Shape = auto class
x, y: integer;
color: GraphABC.Color;

procedure Draw(); abstract;
end;

Rectangle = class(Shape) 
x1, y1: integer;

constructor Create(x, y, x1, y1: integer; color: GraphABC.Color);
begin
self.x := x;
self.x1 := x1;
self.y := y;
self.y1 := y1;
self.color := color;
end;

procedure Draw(); override;
begin
brush.Color := color;
GraphABC.Rectangle(x, y, x1, y1);

brush.Color := GraphABC.Color.Transparent;
end;
end;

Circle = class(Shape)
r: integer;

constructor Create(x, y, r: integer; color: GraphABC.Color);
begin
self.x := x;
self.y := y;
self.r := r;
self.color := color;
end;

procedure Draw(); override;
begin
brush.Color := color;
GraphABC.Circle(x, y, r);

brush.Color := GraphABC.Color.Transparent;
end;
end;

Line = class(Shape)
p1,p2,o1,o2: integer;

constructor Create( p1,p2,o1,o2: integer; color: GraphABC.Color);
begin
self.p1 := p1;
self.o1 := o1;
self.p2 := p2;
self.o2 := o2;
self.color := color;
end;

procedure Draw(); override;
begin
brush.Color := color;
GraphABC.Line( p1,p2,o1,o2);

brush.Color := GraphABC.Color.Transparent;
end;
end;
Triangle = class(Shape)
x1, y1, x2, y2: integer;

constructor Create(x, y, x1, y1, x2, y2: integer; color: GraphABC.Color);
begin
self.x := x;
self.x1 := x1;
self.x2 := x2;
self.y := y;
self.y1 := y1;
self.y2 := y2;
self.color := color;
end;

procedure Draw(); override;
begin
brush.Color := color;

var points := new GraphABC.Point[3](new GraphABC.Point(x, y),
new GraphABC.Point(x1, y1),
new GraphABC.Point(x2, y2));
GraphABC.Polygon(points);
brush.Color := GraphABC.Color.Transparent;
end;
end;
function ChooseColor(color_name: string): GraphABC.Color;
begin
case color_name of
'красный': result := GraphABC.Color.Red;
'оранжевый': result := GraphABC.Color.Orange;
'желтый': result := GraphABC.Color.Yellow;
'зеленый': result := GraphABC.Color.Green;
'голубой': result := GraphABC.Color.LightCyan;
'синий': result := GraphABC.Color.Blue;
'фиолетовый': result := GraphABC.Color.Magenta;

end;
end;

function ChooseFigure(figure_type: string; color: GraphABC.Color): Shape;
begin
case figure_type of
'прямоугольник': result := new Rectangle(500, 400, 170, 170, color);
'квадрат': result := new Rectangle(200, 200, 400, 400, color);
'круг': result := new Circle(320, 250, 100, color);
'линия': result := new Line(300,100,400,100,color);
'треугольник': result := new Triangle(250, 350, 300, 250, 350, 350, color);
end;
end;
begin
writeLn('Программа содержит модуль graph и классы геометрических фигур');
writeLn('Для продолжения нажмите entr');
readln();

begin
clearwindow;
writeLn('Напишите один из семи цветов спектора:');
writeLn('');
writeLn('1-красный');
writeLn('2-оранжевый');
writeLn('3-желтый');
writeLn('4-зеленый');
writeLn('5-голубой');
writeLn('6-синий');
writeLn('7-фиолетовый');
writeLn('');
var color_name := ReadString();
var color := ChooseColor(color_name);
clearwindow;
writeLn('Выберите одну их четырех фигур:');
writeLn('');
writeLn('1-треугольник');
writeLn('2-круг');
writeLn('3-квадрат');
writeLn('4-прямоугольник');
writeLn('5-линия');
var figure_type := ReadString();
var figure := ChooseFigure(figure_type, color);
clearwindow;
figure.Draw();

end;
end.

:yum:

приятно конечно, но это не то, что я просил

Может быть, это вам поможет:

uses
  GraphABC;

type
   Shape = auto class
      x,y: integer;
      color: GraphABC.Color;
    
   constructor Create(x,y: integer; color: GraphABC.Color);
   begin
      self.x:= x;
      self.y:= y;
      self.color:= color;
   end;
    
   procedure Draw(); abstract;
end;
  
   Rectangle = class(Shape) 
      x1,y1: integer;
    
   constructor Create(x,y,x1,y1: integer; color: GraphABC.Color);
   begin
      inherited Create(x,y,color);
      self.x1:= x1;
      self.y1:= y1;
   end;
    
   procedure Draw(); override;
   begin
      brush.Color:= color;
      GraphABC.Rectangle(x,y,x1,y1);
      brush.Color:= GraphABC.Color.Transparent;
   end;
end;
  
   Circle = class(Shape)
      r: integer;
    
   constructor Create(x,y,r: integer; color: GraphABC.Color);
   begin
      inherited Create(x,y,color);
      self.r:= r;
   end;
    
   procedure Draw(); override;
   begin
      brush.Color:= color;
      GraphABC.Circle(x,y,r);
      brush.Color:= GraphABC.Color.Transparent;
   end;
end;
  
   Line = class(Shape)
      x1,y1: integer;
    
   constructor Create(x, y, x1, y1: integer; color: GraphABC.Color);
   begin
      inherited Create(x,y,color);
      self.x1:= x1;
      self.y1:= y1;
   end;
    
   procedure Draw(); override;
   begin
      brush.Color:= color;
      GraphABC.Line(x,y,x1,y1);
      brush.Color:= GraphABC.Color.Transparent;
   end;
end;
  
   Triangle = class(Shape)
      x1, y1, x2, y2: integer;
    
   constructor Create(x, y, x1, y1, x2, y2: integer; color: GraphABC.Color);
   begin
      inherited Create(x,y,color);
      self.x1 := x1;
      self.x2 := x2;
      self.y1 := y1;
      self.y2 := y2;
   end;
    
   procedure Draw(); override;
   begin
      brush.Color := color;   
      var points := new GraphABC.Point[3](new GraphABC.Point(x, y), new GraphABC.Point(x1, y1), new GraphABC.Point(x2, y2));
      GraphABC.Polygon(points);
      brush.Color := GraphABC.Color.Transparent;
   end;
end;

function ChooseColor(color_num: integer): GraphABC.Color;
begin
   case color_num of
      1: Result := GraphABC.Color.Red;
      2: Result := GraphABC.Color.Orange;
      3: Result := GraphABC.Color.Yellow;
      4: Result := GraphABC.Color.Green;
      5: Result := GraphABC.Color.LightCyan;
      6: Result := GraphABC.Color.Blue;
      7: Result := GraphABC.Color.Magenta;
   end;
end;

function ChooseFigure(figure_num: integer; color: GraphABC.Color): Shape;
begin
   case figure_num of
      1: Result := new Triangle(250, 350, 300, 250, 350, 350, color);
      2: Result := new Circle(320, 250, 100, color);
      3: Result := new Rectangle(200, 200, 400, 400, color);
      4: Result := new Rectangle(500, 400, 170, 170, color);
      5: Result := new Line(300, 100, 400, 100, color);
  end;
end;

begin
  TextOut(5,0,'Программа содержит модуль graph и классы геометрических фигур');
  TextOut(5,20,'Для продолжения нажмите Enter');
  Readln();
  
  while true do
  begin
     ClearWindow;
     TextOut(5,0,'Введите номер цвета:');
     TextOut(5,20,'1 - красный');
     TextOut(5,40,'2 - оранжевый');
     TextOut(5,60,'3 - желтый');
     TextOut(5,80,'4 - зеленый');
     TextOut(5,100,'5 - голубой');
     TextOut(5,120,'6 - синий');
     TextOut(5,140,'7 - фиолетовый');
     TextOut(5,160,'0 - выход из программы');
     var color_num := ReadInteger();
     if color_num = 0 then
        break;
     var color := ChooseColor(color_num);
  
     ClearWindow;
     TextOut(5,0,'Введите номер фигуры:');
     TextOut(5,20,'1 - треугольник');
     TextOut(5,40,'2 - круг');
     TextOut(5,60,'3 - квадрат');
     TextOut(5,80,'4 - прямоугольник');
     TextOut(5,100,'5 - линия');
     TextOut(5,120,'0 - выход из программы');
     var figure_num := ReadInteger();
     if figure_num = 0 then
        break;
     var figure := ChooseFigure(figure_num, color);
  
     ClearWindow;
     figure.Draw();
     TextOut(5,0,'Для продолжения нажмите Enter');
     readln;
     readln;
  end;
  GraphABC.CloseWindow;
end.

Совет на будущее. Всё-таки не совсем корректно просить людей сделать за вас что-либо. Если у вас есть затруднения, спросите у людей, как это делается, но не ждите, что вам дадут полную реализацию. Хорошему начинающему программисту достаточно понять логику, которая вполне может быть передана парой предложений на русском. Старайтесь решать задачи самостоятельно, со временем это будет приносить массу удовольствия.

1 лайк