Описать массив записей — телефонный справочник одноклассников - Free Pascal
Формулировка задачи:
Составьте программу, которая описывает массив записей — телефонный справочник одноклассников — и обеспечивает ввод данных, поиск номера телефона по фамилии, подсчет и вывод списка всех абонентов по критерию "увлечение компьютерными играми". В записи о каждом однокласснике содержатся следующие сведения: фамилия, имя, телефон, хобби.
Решение задачи: «Описать массив записей — телефонный справочник одноклассников»
- 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 происходит заполнение всех записей массива. Пользователю предлагается ввести фамилию, имя, номер телефона и хобби для каждой записи. После заполнения массива пользователю предлагается ввести фамилию абонента, для которого необходимо найти номер телефона. Если фамилия совпадает с фамилией хотя бы одной записи, номер телефона выводится на экран. Затем пользователю предлагается ввести запрос в виде фамилии, чтобы вывести список абонентов, увлекающихся компьютерными играми. Если запрос совпадает с хобби хотя бы одной записи, номер телефона выводится на экран. В конце программы выводится общее количество абонентов, увлекающихся компьютерными играми.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д