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