Pascal abc тема записи с клавиатуры вводится номер школы. файл содержит сведения: фамилию, имя ученика, номер школы. определить кол-во учеников в школе с заданным номером с клавиатуры
//Pascal type TPupils = record firstname, surname: string; schoolNumber: integer; end;
var f: text; s, buf: string; i, j, tmp: byte; num, countPupils: integer; A: array [1..200] of TPupils; begin assign(f, 'data.txt'); reset(f); j := 1; while not eof(f) do begin readln(f, buf); buf := buf + ' '; tmp := 1;
for i := 1 to length(buf) do begin if pos(buf[i], ' ') = 0 then s := s + buf[i] else begin if length(s) > 0 then begin case tmp of 1: begin A[j].firstname := s; Inc(tmp); end; 2: begin A[j].surname := s; Inc(tmp); end; 3: begin Val(s, num, num); A[j].schoolNumber := num; end; end; //writeln(s); s := ''; end; end; end; Inc(j); end; close(f);
write('Введите № школы: '); readln(num);
for i := 1 to 200 do begin if A[i].schoolNumber = num then //writeln(A[i].firstname, ' ', A[i].surname, ' ', // A[i].schoolNumber); Inc(countPupils); end; writeln('Количество учеников в данной школе = ', countPupils); end.
//Pascal
type
TPupils = record
firstname, surname: string;
schoolNumber: integer;
end;
var
f: text;
s, buf: string;
i, j, tmp: byte;
num, countPupils: integer;
A: array [1..200] of TPupils;
begin
assign(f, 'data.txt');
reset(f);
j := 1;
while not eof(f) do
begin
readln(f, buf);
buf := buf + ' ';
tmp := 1;
for i := 1 to length(buf) do
begin
if pos(buf[i], ' ') = 0 then s := s + buf[i]
else
begin
if length(s) > 0 then
begin
case tmp of
1: begin A[j].firstname := s; Inc(tmp); end;
2: begin A[j].surname := s; Inc(tmp); end;
3:
begin
Val(s, num, num);
A[j].schoolNumber := num;
end;
end;
//writeln(s);
s := '';
end;
end;
end;
Inc(j);
end;
close(f);
write('Введите № школы: ');
readln(num);
for i := 1 to 200 do
begin
if A[i].schoolNumber = num then
//writeln(A[i].firstname, ' ', A[i].surname, ' ',
// A[i].schoolNumber);
Inc(countPupils);
end;
writeln('Количество учеников в данной школе = ',
countPupils);
end.
type
Person = record
fname: string;//Фамилия ученика
lname: string;//Имя
school: integer;//Номер щколы
end;
var student: Person;
n,s,p:integer;
tmp:string;
fin:text;//Файловая переменная
begin
assign(fin, 'students.txt');
reset(fin);
readln(n);//Получаем номер школы
while not (eof(fin)) do
begin
readln(fin, tmp);//Читаем строку из файла
p:= Pos(';', tmp);
Delete(tmp, 1, p);//удаляем все до первого разделителя
p:= Pos(';', tmp);
Delete(tmp, 1, p);//удаляем все до второго разделителя
// в tmp остался номер школы
student.school:=strtoint(tmp);
if student.school=n then s+=1;
end;
writeln(s);
end.