Помощь - Поиск - Пользователи - Календарь
Полная версия: Задача на тему Записи
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
vovka239
Попросили помочь с задачей:
"Составить список из 10 жильцов, указав фамилию, инициалы, год рождения и адрес(улица, дом, квартира).Выдать справку о месте проживания данного жильца. Если жильцов, имеющих одинаковые фамилию, инициалы и год рождения несколько, то выдать информацию о всех."
Помогите пожалуйста решить...Сам ещё не пробовал делать..глаза не первый день что-то болят..Наведите хоть на путь истинный, с чего начать и чем закончить smile.gif
Unconnected
Ну, записи описываются так:


type MyRec = record
поле1 : тип_поля
поле2 : тип_поля
поле3 : тип_поля
end;
var Recs:array[1..10] of MyRec;



Чтобы обратиться к некоторому полю, пишем например Recs[1].имя_поля и можем ему что-то присваивать или брать оттуда значение, как с переменными. В твоей задаче нужно сначала заполнить массив с записями - это можно сделать в цикле - а потом, при поиске жильца, тоже циклом пройти по всем записям, проверяя нужное поле, если совпадает с искомым - вывести все остальные поля.
vovka239
Цитата(Unconnected @ 17.02.2010 14:22) *

Ну, записи описываются так:


type MyRec = record
поле1 : тип_поля
поле2 : тип_поля
поле3 : тип_поля
end;
var Recs:array[1..10] of MyRec;



Чтобы обратиться к некоторому полю, пишем например Recs[1].имя_поля и можем ему что-то присваивать или брать оттуда значение, как с переменными. В твоей задаче нужно сначала заполнить массив с записями - это можно сделать в цикле - а потом, при поиске жильца, тоже циклом пройти по всем записям, проверяя нужное поле, если совпадает с искомым - вывести все остальные поля.

Спасибо большое за помощь! smile.gif Процесс пошёл, завтра отпишусь что получилось, ну и задам вопросы если будут smile.gif
vovka239
Я вспомнил свой пароль от форума и зашёл из дома)) Так что выкладываю получившийся код сегодня)
program Project2;

{$APPTYPE CONSOLE}

uses
SysUtils;
type anketa=record
fio: string[25];
ini: string[5];
dat_r: string[8];
street: string[25];
home: string[5];
kvart: string[5]
end;
var mas: array [1..10] of anketa;
I: integer;
begin
for I:=1 to 10 do
begin
writeln ('vvedite info o ', I , '-m jilce');
writeln ('Vvedite Family');
readln (mas[I].fio);
writeln ('Vvedite iniciali');
readln (mas[I].ini);
writeln ('Vvedite Daty');
readln (mas[I].dat_r);
writeln ('Vvedite street');
readln(mas[I].street);
writeln ('Vvedite home');
readln(mas[I].home);
writeln ('Vvedite kvartiry');
readln (mas[I].kvart);
end;
writeln ('Vvod zakon4en');
writeln ;
for I:=1 to 10 do
if mas[I].fio='pupkin' then
begin
writeln(' Family : ', mas[I].fio);
writeln(' Street : ', mas[I].street);
writeln(' Home : ', mas[I].home);
writeln(' Kvart : ', mas[I].kvart);
readln
end
end.

И ещё добавилась задача вроде этой, только на запись в файл:
program Project3;

{$APPTYPE CONSOLE}

uses
SysUtils;
var
f1 : text;
type anketa=record
fio: string[25];
ini: string[5];
dat_r: string[8];
street: string[25];
home: string[5];
kvart: string[5]
end;
var mas: array [1..10] of anketa;
I: integer;
begin
Assign(f1,'C:/Filename.txt');
ReWrite(f1);
for I:=1 to 2 do
begin
writeln ('vvedite info o ', I , '-m jilce');
writeln (f1,'Введите информацию о ', I , '-м жильце:');
writeln ('Vvedite Family');
writeln (f1,'Введите фамилию:');
readln (mas[I].fio);
writeln (f1, mas[I].fio);
writeln ('Vvedite iniciali');
writeln (f1,'Введите инициалы:');
readln (mas[I].ini);
writeln (f1, mas[I].ini);
writeln ('Vvedite Daty');
writeln (f1,'Введите дату рождения:');
readln (mas[I].dat_r);
writeln (f1, mas[I].dat_r);
writeln ('Vvedite street');
writeln (f1,'Введите улицу:');
readln(mas[I].street);
writeln (f1, mas[I].street);
writeln ('Vvedite home');
writeln (f1,'Введите дом:');
readln(mas[I].home);
writeln (f1, mas[I].home);
writeln ('Vvedite kvartiry');
writeln (f1,'Введите квартиру:');
readln (mas[I].kvart);
writeln (f1, mas[I].kvart);
end;
Close(f1);
writeln ('Vvod zakon4en');
writeln ;
readln
end.


Вроде всё понятно, разобрался, вопросов нет, но может у кого-то есть какие-то нарекания) Скажите, если это так) На будущее буду знать smile.gif
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.