![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
Snake |
![]()
Сообщение
#1
|
Гость ![]() |
Помогите написать программу!
3. Подготовить файл с анкетными данными своих ближайших pодственников. Анкетные данные должны содеpжать: - фамилию, имя, отчество - степень pодства (мать, отец, брат, сестpа и т.д.) - гоpод пpоживания - год pождения - социальное положение Сфоpмиpовать новый файл, содеpжащий сведения о родственниках-пенсионеpах. Входные данные после записи их в файл при дальнейшем решении задачи считывать из файла. Решить с использованием процедур и функций и типом "запись". С записями использовать оператор with Заранее огромное Вам спасибо!!! Сообщение отредактировано: Snake - |
Артемий |
![]()
Сообщение
#2
|
![]() Помощник капитана ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 601 Пол: Мужской Реальное имя: Артем Репутация: ![]() ![]() ![]() |
Показывай что пробовал делать.
-------------------- Dum spiro spero!
|
Andrewshkovskii |
![]()
Сообщение
#3
|
Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 222 Пол: Мужской Реальное имя: Andrew Репутация: ![]() ![]() ![]() |
Ну тут ,как по заданию видно,надо использовать неоднородные структуры данных,типа запись (record).
У тебя будет 1 тип записей,и 1 массив :
const
n=10;
nowyear=2007;
BlijRods= record
FIO:string;
rods:string;
Hometown:string;
yofb:integer;
SocP:string;
Age:byte;
Flg:byte; {флаг,если 1 то пенсионер,если 0 то нет}
end;
Arr = array [1..n] of BlijRods;
После ввода делаешь цикл отбора пенсионеров(для начала,вычисли возрасткаждого из родственников),что-то типа for i:=1 to n do
begin
arr[i].Age:=nowyear-yofb;
end;
После отбирай пенсионеров, что-то вроде этого :
for i:=1 to n do
begin
if arr[i].Age>60 then
arr[i].Flg:=1
else
arr[i].Flg:=0;
end;
ну и вот ты теперь знаешь,кто пенсионер ,а кто нет.записывай в файл по условию for i:=1 to n do
begin
if arr[i].Flg=1 then {Тут !!процедура!!(напиши сам) записи в файл}
Я бы так сделал..может это и не очень оптимальный вариант.. Сообщение отредактировано: Andrewshkovskii - |
volvo |
![]()
Сообщение
#4
|
Гость ![]() |
Цитата может это и не очень оптимальный вариант.. Это очень неоптимальный вариант... Мало того, что ты модифицировал запись (т.е., она теперь содержит лишнюю информацию, по условию флага и поля Age в записи не предусмотрено), так ты еще и проходишь по массиву (кстати, почему по массиву? Задание на работу с файлами) дважды. Зачем? Что, нельзя при проходе сразу проверить разность текущего года и года рождения, и при необходимости записать данные в другой файл? |
Andrewshkovskii |
![]()
Сообщение
#5
|
Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 222 Пол: Мужской Реальное имя: Andrew Репутация: ![]() ![]() ![]() |
Цитата так ты еще и проходишь по массиву (кстати, почему по массиву? Задание на работу с файлами) дважды. Зачем? А как иначе,если у него несколько родственников?сразу Записывать каждую структуру отдельно в файл??? Конечно,ты прав,можно и обойтись без 2х дополнительный элементов(флаг и возраст)а сразу проверять их возраст и записывать в файл, вот так : if (a[i].yofb-nowyear)>60 then
|
Snake |
![]()
Сообщение
#6
|
Гость ![]() |
|
Andrewshkovskii |
![]()
Сообщение
#7
|
Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 222 Пол: Мужской Реальное имя: Andrew Репутация: ![]() ![]() ![]() |
нормально так.....А где ты получила это задание?в институте?Тебе надо эту программу сдать и всё?не защищать,ничего?Оо
похожие может и есть,только искать долго... |
Snake |
![]()
Сообщение
#8
|
Гость ![]() |
|
Andrewshkovskii |
![]()
Сообщение
#9
|
Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 222 Пол: Мужской Реальное имя: Andrew Репутация: ![]() ![]() ![]() |
блин..ну вам же читают лекции..и я думаю что это не первая задача на паскале..надо что-то знать..а писать за тебя ВСЮ задачу я думаю,мало кто захочет (а студенты,у кот. сейчас сессия темболее)...
Я попытался описать основной алгоритм,осталоное проше некуда,запись и чтения из файлов,да осуществить ввод данных(не забываю про проверку вводимых значений.. ) |
Snake |
![]()
Сообщение
#10
|
Гость ![]() |
Andrewshkovskii
В любом случае спасибо за помощь!!! Будем пытаться что-нибудь делать дальше! ![]() |
klem4 |
![]()
Сообщение
#11
|
|||
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
-------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
|||
Andrewshkovskii |
![]()
Сообщение
#12
|
Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 222 Пол: Мужской Реальное имя: Andrew Репутация: ![]() ![]() ![]() |
в общем смотри,вводишь данные о родственниках,записываешь их в файл ,после чего ищешь пенсионеров,и записываешь их уже в другой файл.вроде тут все просто..
Напиши 4 процедуры, 1 Инициализирует файл с родственниками (создание файл,т.е ты указываешь путь и имя файла) 2 Запись родственников в созданный файл родственников. 3 инициализация файла с пенсионерами. 4 Запись пенсионеров в файл. а да,забыл,ешё напиши процедуры на ввод данных и их вывод на экран..не забудь про проверку вводмых значений! Сообщение отредактировано: Andrewshkovskii - |
Snake |
![]()
Сообщение
#13
|
Гость ![]() |
Andrewshkovskii, пасиб
Сообщение отредактировано: Snake - |
![]() ![]() |
![]() |
Текстовая версия | 20.04.2025 9:20 |