Студенты живущие по данному адресу - Pascal
Формулировка задачи:
Ребята, помогите пожалуйста доделать программу.
Нужно описать, используя структуру данных запись, данные на студентов (фамилия, улица, дом, квартира). Составить программу, определяющую сколько студентов живет на улице Свердлова, списки студентов, живущих в доме номер 45.
Программа работает, но я не могу понять куда нужно вставить условие, для того чтобы вместе со списками студентов, живущими в доме 45, происходил вывод количества студентов, живущих на улице свердлова.
type spisok=record
familia:string[10];
ulica:string[5];
dom:integer;
kvartira:integer;
end;
var student: array[1..10] of spisok;
i:integer;
k:integer;
begin
//последовательно вводим каждую запись//
for i:=1 to 10 do
begin
writeln('введите сведения о',i,'студенте');
writeln('введите фамилию');
readln(student[i].familia);
writeln('введите улицу');
readln(student[i].ulica);
writeln('введите номер дома');
readln(student[i].dom);
writeln('введите номер квартиры');
readln(student[i].kvartira);
end;
writeln('ввод закончен');
writeln;
writeln(student);
writeln;
writeln('Студенты живущие в доме номер 45');
for i:=1 to 10 do
if student[i].dom=45 then //поиск и вывод нужных студентов//
writeln('Фамилия студента:',student[i].familia);
end.Решение задачи: «Студенты живущие по данному адресу»
textual
Листинг программы
const
sStreet='Свердлова';
...
{k:=0;}
for i:=1 to 10 do with student[i] do begin
if dom=45 then WriteLn(familia);
if ulica=sStreet then Inc(k);
end;
WriteLn('На улице ',sStreet,' студентов: ',k);
Объяснение кода листинга программы
- Объявляется константа
sStreetсо значениемСвердлова, которая предположительно представляет название улицы. - Цикл
forвыполняется от 1 до 10, с переменнойi, которая предположительно представляет номер студента. - Внутри цикла
forвыполняется блокwithдля доступа к полям студента. - Проверяется условие, если поле
domстудента равно 45, то выводится фамилия студента. - Проверяется условие, если поле
ulicaстудента равно значениюsStreet(т.е.Свердлова), то переменнаяkувеличивается на 1. - После цикла
forвыводится сообщение о количестве студентов, у которых улица равнаСвердлова.