В моем коде есть недопустимые выражения, но я не знаю, как это исправить

Это мой код, у меня есть недопустимые выражения в строке 39/45, 40/50, 51/45, 52/36 и фатально: неожиданный конец файла в строке 64 Было бы очень полезно, если кто-то научит меня нескольким вещам о паскале.

Program PatientRecords;
{Aurthor: Vincent Lopez,
February 16,2015,
Program will read names, age and treatment cost for at least ten patients}

Var {declaration of variables}

   Name: array [1..11] of string;
   Age: array [1..11] of integer;
   T_Cost: array [1..11] of real;
   G_Cost: array [1..11] of real;
   P_Cost: array [1..11] of real;
   Count: integer;

Begin {The program starts here}

  {Initialization of variables}

  For count := 1 to 10 DO
  WriteLn('Welcome to Ministry of Health Cost of Health Care');

  WriteLn('Enter the name of the patient');

  Readln(name[count]);

  Writeln('Enter the age of the patient');

  Readln(Age[count]);

  Writeln('Enter the treatment cost for patient');

  Readln(T_cost[count]);

  IF Age>= 65 THEN

  Begin

    G_cost[count]=T_cost[count]*(100/80);
    P_cost[count]=T_cost[count]-G_cost[count];

    Writeln('Government will pay = $',G_cost[count]);
    Writeln('The patient will pay = $',P_cost[count]);

  end

  ELSE

  Begin

    G_cost[count]=T_cost[count]*(100/50);
    P_cost=T_cost-G_cost[count];

    Writeln('Government will pay = $',G_cost[count]);
    Writeln('The patient will pay = $',P_cost[count]);

    Readln;

    Writeln('Press enter to continue');

    Readln;

  END; {The program ends here}

1 ответ

Одна очевидная ошибка - утверждение

 IF Age>= 65 THEN

Возраст - это массив целых чисел, так что это должно быть

 IF Age[count] >= 65 THEN

Другая очевидная ошибка заключается в том, что последняя строка должна быть "END". с полной остановкой. Конец;' который у вас есть в данный момент, выровнен по блоку 'begin' после ветви 'else' оператора 'if age [count]'.

Я предлагаю сначала узнать, как запустить программу для одного набора данных, а затем расширить ее. Вы обнаружите, что пара writeln/readln находится не в том месте.

Другие вопросы по тегам