@carbanak01

Почему выдаёт ошибку PascalABC.NET при создании объекта?

Здравствуйте!
При выполнении задачи на паскале появляется ошибка: 6053604ef1dc0430004492.png

Это задание по ООП, на всякий скину условие:
Описать объект «Турбюро» с указанием его методов: страна путешествия, длительность отдыха, дата отправления, экскурсии (включать или отказаться), стоимость экскурсий, стоимость путевки (без учета экскурсий), количество туристов, стоимость путешествия. Реализовать объявленные в объекте методы.

Вот код который я написал, следуя методичке:
type Turburo = object
    country, date:string;
   duration, ex_price, putevka, kol_tourists, total_price: integer;
   ex: boolean;
   procedure create;
end;

procedure Turburo.create;
var is_ex:integer;
begin
    write('Страна: ');
    readln(country);
    write('Длительность отдыха: ');
    readln(duration);
    write('Дата отправления: ');
    readln(date);
    write('Включать экскурсии?(0-нет, 1-да):');
    readln(is_ex);
    if is_ex = 1 then begin
                                  ex := true;
                                  write('Стоимость экскурсии: ');
                                  readln(ex_price);
                               end
                       else ex:=false;
    write('Стоимость путевки(без учёта экскурсии): ');
    readln(putevka);
    write('Кол-во туристов: ');
    readln(kol_tourists);

    total_price:= ex_price + putevka;
    write('Стоимость путешествия:', total_price);
end;

var tur:Turburo;

begin
tur.create;
end.


Судя по методичке этой ошибки не должно быть, так как синтаксис правильный, вот не пойму почему компилятор PascalABC.NET так злиться, а онлайн версия https://www.onlinegdb.com/online_pascal_compiler нет.
  • Вопрос задан
  • 152 просмотра
Решения вопроса 1
HemulGM
@HemulGM
Delphi Developer, сис. админ
Потому что у тебя более новый паскаль, а не турбо паскаль.
Использовать нужно слово class, а не object

type Turburo = class
     country, date:string;
   duration, ex_price, putevka, kol_tourists, total_price: integer;
   ex: boolean;
   procedure create;
end;
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@mkone112
Начинающий питонист.
Потому что у тебя встречено 'country' а ожидалось ';'
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы