Попросили помочь с задачей: "Составить список из 10 жильцов, указав фамилию, инициалы, год рождения и адрес(улица, дом, квартира).Выдать справку о месте проживания данного жильца. Если жильцов, имеющих одинаковые фамилию, инициалы и год рождения несколько, то выдать информацию о всех." Помогите пожалуйста решить...Сам ещё не пробовал делать..глаза не первый день что-то болят..Наведите хоть на путь истинный, с чего начать и чем закончить
Unconnected
17.02.2010 18:22
Ну, записи описываются так:
type MyRec = record поле1 : тип_поля поле2 : тип_поля поле3 : тип_поля end; var Recs:array[1..10] of MyRec;
Чтобы обратиться к некоторому полю, пишем например Recs[1].имя_поля и можем ему что-то присваивать или брать оттуда значение, как с переменными. В твоей задаче нужно сначала заполнить массив с записями - это можно сделать в цикле - а потом, при поиске жильца, тоже циклом пройти по всем записям, проверяя нужное поле, если совпадает с искомым - вывести все остальные поля.
vovka239
17.02.2010 20:54
Цитата(Unconnected @ 17.02.2010 14:22)
Ну, записи описываются так:
type MyRec = record поле1 : тип_поля поле2 : тип_поля поле3 : тип_поля end; var Recs:array[1..10] of MyRec;
Чтобы обратиться к некоторому полю, пишем например Recs[1].имя_поля и можем ему что-то присваивать или брать оттуда значение, как с переменными. В твоей задаче нужно сначала заполнить массив с записями - это можно сделать в цикле - а потом, при поиске жильца, тоже циклом пройти по всем записям, проверяя нужное поле, если совпадает с искомым - вывести все остальные поля.
Спасибо большое за помощь! Процесс пошёл, завтра отпишусь что получилось, ну и задам вопросы если будут
vovka239
18.02.2010 3:00
Я вспомнил свой пароль от форума и зашёл из дома)) Так что выкладываю получившийся код сегодня)
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.
Вроде всё понятно, разобрался, вопросов нет, но может у кого-то есть какие-то нарекания) Скажите, если это так) На будущее буду знать
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.