Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Работа для программиста > Фриланс
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.04.2020, 17:52   #1
s7p
Новичок
Джуниор
 
Регистрация: 16.04.2020
Сообщений: 1
Печаль Pascal ABC. Подредактировать программу.

Помогите, пожалуйста, сделать «красивым» вывод данных в табличной форме и доделать задание по подсчету количества людей, возраст которых не превышает заданного значения s.
Цена 300 рублей.
Желательно до завтра включительно.

Рекомендации (чтобы было проще понять то, что в принципе нужно доделать):
– сначала из поля с датой рождения A[i].dob нужно «вырезать» все элементы даты рождения (день, месяц, год) – воспользоваться функцией copy, НО это будут не числа, как нам нужно, а строки;
– для преобразования этих строк в числа воспользоваться процедурой val;
– вместо многоточия нужно вставить условие сравнения s и числа полных лет, которые исполнились человеку на текущую дату; для получения текущей даты воспользоваться функцией CurrentDateTime модуля Utils, который содержит различные процедуры и функции для работы с файлами и каталогами, с датой, и пр.;

функция имеет следующий тип:

Код:
type DateTime = record
Day, Month, Year, Hour, Minute, Second, Milliseconds: integer;
end;
Пример использования функции:

Код:
Uses Crt, Utils;
var x: DateTime;
begin
x:= CurrentDateTime;
writeln(‘Текущая дата: ’, x.Day, ‘.’, x.Month, ‘.’, x.Year);
end.
САМА ПРОГРАММА ДЛЯ ИСПРАВЛЕНИЯ:

Код:
program pr3;
uses crt;
const n=5;
type b = record
surname:string[20];
name:string[15];
patronymic:string[20];
dob:string[10];
address:string[50];
number:string[10];
end;
var f:file of b;
state:b;
a:array[1..n] of b;
i,l,s,c,d,count:integer;

begin
assign(f,'D:\Евгений');
rewrite(f);
for i:=1 to n do
begin writeln ('Запись ',i);
write('Фамилия: ');readln(state.surname);
write('Имя: ');readln(state.name);
write('Отчество: ');readln(state.patronymic);
write('Дата рождения: ');readln(state.dob);
write('Адрес: ');readln(state.address);
write('Телефон: ');readln(state.number);
write(f,state);
end;
close(f); }
reset(f);
writeln('Сведения для городской справочной службы');
writeln('______________________________________________________________________________');
writeln('| Фамилия | Имя | Отчество |Дата рождения| Адрес | Телефон |');
writeln('______________________________________________________________________________');
for i:=1 to filesize(f) do
begin read(f, A[i]);
writeln(A[i].surname:10,A[i].name:10,A[i].patronymic:10,A[i].dob:10,A[i].address:10,A[i].number:10);
end;
close(f);

Write('Введите возраст человека: '); Readln(s);
Count := 0;
for i:=1 to n do
begin ...
if ...<= s then Inc(Count);
end;
WriteLn('Возраст ', Count, ' человек не превышает значения ', s); }

for l:=1 to n-1 do
for i:=1 to n-l do
if A[i].surname > A[i+1].surname then
begin state:=A[i];
A[i]:=A[i+1];
A[i+1]:=state;
end;
writeln('Сведения отсортированные в алфавитном порядке фамилий');
writeln('______________________________________________________________________________');
writeln('| Фамилия | Имя | Отчество |Дата рождения| Адрес | Телефон |');
writeln('______________________________________________________________________________');
for i:=1 to n do
writeln(A[i].surname:10,A[i].name:10,A[i].patronymic:10,A[i].dob:10,A[i].address:10,A[i].number:10);

end.
s7p вне форума Ответить с цитированием
Старый 16.04.2020, 17:53   #2
alexcoder
Форумчанин
 
Регистрация: 31.05.2009
Сообщений: 786
По умолчанию

s7p, обращайтесь e-mail: informatik101@mail.ru
Telegram: @alexcoder1
vk.com/alexcoder1
Наверно дороже.
Помощь с программами:
vk.com/alexcoder1
e-mail: informatik101@mail.ru
alexcoder вне форума Ответить с цитированием
Старый 17.04.2020, 00:23   #3
Larboss
Недо
Участник клуба
 
Регистрация: 11.08.2011
Сообщений: 1,394
По умолчанию

ТЗ, срок, бюджет: larbossfreelance@yandex.ru Метка: freelance Указывайте ссылку на тему форума.
С помощью программирования можно разбогатеть и изменить мир к лучшему (с) Бьерн Страуструп
Larboss вне форума Ответить с цитированием
Старый 17.04.2020, 02:22   #4
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,551
По умолчанию

Сделаю. Пишите на почту, цену обговорим:
Arigato вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Pascal ABC. Подредактировать программу. s7p Помощь студентам 0 16.04.2020 07:17
Подредактировать имеющуюся программу Виталийq Помощь студентам 1 30.06.2014 13:05
Необходимо подредактировать код. 603vvn Общие вопросы Delphi 5 17.06.2010 15:37
подредактировать . Двухмерные массивы lilia2121 Помощь студентам 2 18.05.2010 09:40