Создать файл содержащий структуру записи человек: пол, имя, рост. Вывести ** экран...

0 голосов
85 просмотров
Создать файл содержащий структуру
записи человек: пол, имя, рост. Вывести на экран средний женский рост и имя
самого высокого мужчины

Информатика (654 баллов) | 85 просмотров
0

В Паскале.

0

Я без понятия даже, с чего начинать. И если честно, вообще не понял, что требуют. Работу с файлами и записями одновременно? о_О

Дан 1 ответ
0 голосов
Правильный ответ

Const
  gend = ['м', 'ж'];

type
  tMan = record
    gender: char;
    fio: string;
    height: integer
  end;

var
  man: tMan;
  max1, max2: integer;
  mfio: string;
  f: file;

begin
  { Заполнение файла }
  Assign(f, 'manfile.txt');
  Rewrite(f);
  Writeln('Введите через Enter пол (м/ж), фамилию и рост в см');
  Writeln('Для отказа введите 0');
  repeat
    Readln(man.gender);
    if man.gender in gend then
    begin
      Readln(man.fio);
      Readln(man.height);
      Write(f, man);
      Writeln('Данные приняты, продолжайте')
    end
  until not (man.gender in gend);
  Close(f);
  { Работа с файлом }
  Assign(f, 'manfile.txt');
  Reset(f);
  max1 := 0; max2 := 0;
  while not Eof(f) do
  begin
    Read(f, man);
    with man do
      if (gender = 'м') and (max1 < height) then
      begin
        max1 := height;
        mfio := fio
      end
      else if (gender = 'ж') and (max2 < height) then max2 := height;
  end;
  Writeln('Самый высокий- ', mfio, ', рост самой высокой равен ', max2);
  Close(f);
end.

Тестовое решение:

Введите через Enter пол (м/ж), фамилию и рост в см
Для отказа введите 0
м
Иванов И.И.
176
Данные приняты, продолжайте
ж
Егорова К.С.
169
Данные приняты, продолжайте
ж
Старова Г.К.
168
Данные приняты, продолжайте
м
Минкин Р.Т.
179
Данные приняты, продолжайте
0
Самый высокий- Минкин Р.Т., рост самой высокой равен 169



Скачать вложение Текст (TXT)
(142k баллов)
0

Черт, я Вас уже обожаю. Еще раз спасибо!