Помогите безотлагательно(через Паскаль)

Помогите безотлагательно(через Паскаль)

Задать свой вопрос
1 ответ
// PascalABC.NET 3.3, сборка 1573 от 04.11.2017
// Внимание! Если программка не работает, обновите версию!

type
  Призывник=record
    ФИО:string[48];
    Пол:char;
    Рост:byte;
    Вес:byte;
    Рекомендация:shortint
  end;

begin
  var buf:Призывник;
  var f:file of Призывник;
  Assign(f,'Prizyvnik.bin'); Rewrite(f);
  while True do begin // выход по break
    Writeln('Введите данные еще одного призывника');
    Writeln('Фамилия, имя, отчество либо * для окончания ввода: ');
    buf.ФИО:=ReadlnString;
    if buf.ФИО='*' then break;
    buf.Пол:=UpCase(ReadlnChar('Пол (М/Ж):'));
    Write('Рост, см: '); Readln(buf.Рост);
    Write('Вес, кг: '); Readln(buf.Вес);
    buf.Рекомендация:=(buf.Рост-buf.Вес)-100;
    Write(buf.ФИО,' ',buf.Пол,' ',buf.Рост,' ',buf.Вес,': ');
    if buf.Рекомендацияgt;0 then Writeln('Поправиться на ',
        buf.Рекомендация,' кг.')
    else
      if buf.Рекомендацияlt;0 then Writeln('Похудеть на ',
        -buf.Рекомендация,' кг.')
      else Writeln('Норма!');
    Write(f,buf)
    end;
  f.Close
end.

Пример работы программки
Введите данные еще одного призывника
Фамилия, имя, отчество либо * для окончания ввода:
Иванов Петр Сергеевич
Пол (М/Ж): М
Рост, см: 176
Вес, кг: 72
Иванов Петр Сергеевич М 176 72: Поправиться на 4 кг.
Введите данные еще одного призывника
Фамилия, имя, отчество либо * для окончания ввода:
Петров Иван Афанасьевич
Пол (М/Ж): М
Рост, см: 175
Вес, кг: 76
Петров Иван Афанасьевич М 175 76: Похудеть на 1 кг.
Введите данные еще одного призывника
Фамилия, имя, отчество либо * для окончания ввода:
Тарасова Валентина Анатольевна
Пол (М/Ж): Ж
Рост, см: 168
Вес, кг: 68
Тарасова Валентина Анатольевна Ж 168 68: Норма!
Введите данные еще одного призывника
Фамилия, имя, отчество либо * для окончания ввода:
*

Программка для контрольного чтения полученного файла

type
  Призывник=record
    ФИО:string[48];
    Пол:char;
    Рост:byte;
    Вес:byte;
    Рекомендация:shortint
  end;

begin
  var buf:Призывник;
  var f:file of Призывник;
  Assign(f,'Prizyvnik.bin'); Reset(f);
  while not Eof(f) do begin
    Read(f,buf);
    Write(buf.ФИО,' ',buf.Пол,' ',buf.Рост,' ',buf.Вес,': ');
    if buf.Рекомендацияgt;0 then Writeln('Поправиться на ',
        buf.Рекомендация,' кг.')
    else
      if buf.Рекомендацияlt;0 then Writeln('Похудеть на ',
        -buf.Рекомендация,' кг.')
      else Writeln('Норма!');
    end;
  f.Close
end.

Пример
Иванов Петр Сергеевич М 176 72: Поправиться на 4 кг.
Петров Иван Афанасьевич М 175 76: Похудеть на 1 кг.
Тарасова Валентина Анатольевна Ж 168 68: Норма!
, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт