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

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

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

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

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

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

textual
Листинг программы
  1. program pr;
  2.  
  3. type
  4.   directory = record               // тип запись
  5.     surname: string[50];    // поле для фамилии (строка)
  6.     name: string[50];      // поле для имени (строка)
  7.     numphone: integer;  // поле для номера телефона
  8.     hobbi: string;      // поле для хобби (строка)
  9.   end;
  10.   arr = array [1..100] of directory;       // тип массива записей directory
  11.  
  12. var
  13.   a: arr;            // сам массив записей типа arr
  14.   i, n, cout: integer;        
  15.   s: string;
  16.  
  17. begin
  18.   cout := 0;           // счётчик для количества по запросу
  19.   writeln('Введите количество записей');
  20.   readln(n);
  21.   for i := 1 to n do     // заполняем поля массива записей
  22.   begin
  23.     writeln('Введите фамилию');
  24.     readln(a[i].surname);
  25.     writeln('Введите имя');
  26.     readln(a[i].name);
  27.     writeln('Введите номер телефона');
  28.     readln(a[i].numphone);
  29.     writeln('Введите хобби');
  30.     readln(a[i].hobbi);
  31.     writeln;
  32.   end;
  33.   writeln('Введите фамилию абонента');
  34.   readln(s);                      
  35.   for i := 1 to n do
  36.     if a[i].surname = s then           // если поле "фамилия" i-той записи равна введённой с клавиатуры фамилии, то выводим телефон
  37.     begin
  38.       writeln('Телефон: ', a[i].numphone);
  39.     end;
  40.   writeln;
  41.   writeln('Список абонентов по критерию "увлечение компьютерными играми" ');
  42.   for i := 1 to n do
  43.     if a[i].hobbi = 'компьютерные игры' then         // если поле увлечение совпадает, то выводим
  44.     begin
  45.       cout := cout + 1;           // наращиваем счётчик количества
  46.       writeln(a[i].surname);
  47.       writeln(a[i].name);
  48.       writeln(a[i].numphone);
  49.       writeln;
  50.     end;
  51.   writeln('Количество абонентов, увлекающихся компьютерными играми: ', cout);
  52. end.

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

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

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


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

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

10   голосов , оценка 3.9 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы