Описать массив записей — телефонный справочник одноклассников - Free Pascal

Узнай цену своей работы

Формулировка задачи:

Здравствуйте,помогите пожалуйста решить задачу. Пропустил много по теме записей, теперь не могу наверстать. Условие:

Составьте программу, которая описывает массив записей — телефонный справочник одноклассников — и обеспечивает ввод данных, поиск номера телефона по фамилии, подсчет и вывод списка всех абонентов по критерию "увлечение компьютерными играми". В записи о каждом однокласснике содержатся следующие сведения: фамилия, имя, телефон, хобби.

Решение задачи: «Описать массив записей — телефонный справочник одноклассников»

textual
Листинг программы
program pr;
 
type
  directory = record               // тип запись 
    surname: string[50];    // поле для фамилии (строка)
    name: string[50];      // поле для имени (строка)
    numphone: integer;  // поле для номера телефона
    hobbi: string;      // поле для хобби (строка)
  end;
  arr = array [1..100] of directory;       // тип массива записей directory
 
var
  a: arr;            // сам массив записей типа arr
  i, n, cout: integer;        
  s: string;
 
begin
  cout := 0;           // счётчик для количества по запросу 
  writeln('Введите количество записей');
  readln(n);
  for i := 1 to n do     // заполняем поля массива записей 
  begin
    writeln('Введите фамилию');
    readln(a[i].surname);
    writeln('Введите имя');
    readln(a[i].name);
    writeln('Введите номер телефона');
    readln(a[i].numphone);
    writeln('Введите хобби');
    readln(a[i].hobbi);
    writeln;
  end;
  writeln('Введите фамилию абонента');
  readln(s);                      
  for i := 1 to n do
    if a[i].surname = s then           // если поле "фамилия" i-той записи равна введённой с клавиатуры фамилии, то выводим телефон 
    begin
      writeln('Телефон: ', a[i].numphone);
    end;
  writeln;
  writeln('Список абонентов по критерию "увлечение компьютерными играми" ');
  for i := 1 to n do 
    if a[i].hobbi = 'компьютерные игры' then         // если поле увлечение совпадает, то выводим 
    begin
      cout := cout + 1;           // наращиваем счётчик количества 
      writeln(a[i].surname);
      writeln(a[i].name);
      writeln(a[i].numphone);
      writeln;
    end;
  writeln('Количество абонентов, увлекающихся компьютерными играми: ', cout);
end.

Объяснение кода листинга программы

В этом коде создается массив из 100 записей типа directory. В каждой записи содержатся поля для фамилии, имени, номера телефона и хобби (строки, ограниченные 50 символами). С помощью цикла for происходит заполнение всех записей массива. Пользователю предлагается ввести фамилию, имя, номер телефона и хобби для каждой записи. После заполнения массива пользователю предлагается ввести фамилию абонента, для которого необходимо найти номер телефона. Если фамилия совпадает с фамилией хотя бы одной записи, номер телефона выводится на экран. Затем пользователю предлагается ввести запрос в виде фамилии, чтобы вывести список абонентов, увлекающихся компьютерными играми. Если запрос совпадает с хобби хотя бы одной записи, номер телефона выводится на экран. В конце программы выводится общее количество абонентов, увлекающихся компьютерными играми.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.9 из 5
Похожие ответы