IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Задача на тему Записи, наверное пишется как-то через массив...
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 14
Пол: Мужской
Реальное имя: Владимир

Репутация: -  0  +


Попросили помочь с задачей:
"Составить список из 10 жильцов, указав фамилию, инициалы, год рождения и адрес(улица, дом, квартира).Выдать справку о месте проживания данного жильца. Если жильцов, имеющих одинаковые фамилию, инициалы и год рождения несколько, то выдать информацию о всех."
Помогите пожалуйста решить...Сам ещё не пробовал делать..глаза не первый день что-то болят..Наведите хоть на путь истинный, с чего начать и чем закончить smile.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


mea culpa
*****

Группа: Пользователи
Сообщений: 1 372
Пол: Мужской
Реальное имя: Николай

Репутация: -  24  +


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


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



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


--------------------
"Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Новичок
*

Группа: Пользователи
Сообщений: 14
Пол: Мужской
Реальное имя: Владимир

Репутация: -  0  +


Цитата(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
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Новичок
*

Группа: Пользователи
Сообщений: 14
Пол: Мужской
Реальное имя: Владимир

Репутация: -  0  +


Я вспомнил свой пароль от форума и зашёл из дома)) Так что выкладываю получившийся код сегодня)
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
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 11.01.2025 5:18
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name