Форум программистов
 
О проблемах, например, с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Вернуться   Форум программистов > Delphi > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Ответ
 
Опции темы
Старый 25.11.2015, 12:35   #1
povaki
Пользователь
 
Регистрация: 25.11.2015
Сообщений: 12
По умолчанию Создать массив записей, содержащих сведения о нанимателях жилья. Каждая запись содержит поля:

Создать массив записей, содержащих сведения о нанимателях жилья. Каждая запись содержит поля:
фамилия, имя, отчество нанимателя, адрес;
вид жилья: часть коммунальной квартиры, квартира, отдельный дом;
число комнат, площадь занимаемого жилья;
число проживающих;
размер квартирной платы;
долг по квартирной плате.
Число записей произвольное.
Вывести на экран число должников за последний месяц, за последние три месяца и за последние полгода и более.
povaki вне форума Ответить с цитированием
Старый 25.11.2015, 12:48   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,840
По умолчанию

Твои попытки увидеть возможно?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 25.11.2015, 14:02   #3
povaki
Пользователь
 
Регистрация: 25.11.2015
Сообщений: 12
По умолчанию

Код:
type flat = record
fam: string;
imya: string;
otch:string;
adres: string;
vid: 1..3;
komn: byte;
plosch:integer;
zhiv: byte;
plata: integer;
dolg:integer;
end;
 
var
  a: array [1..1000] of flat;
  n,i,j,k: integer;
 
 
begin
  write('Сколько нанимателей? ');
  readln(n);
  k:=0;
  writeln('Введите данные по нанимателям:');
  for i:=1 to n do
  begin
    writeln('  ',i,'-й наниматель:');
    with a[i] do
    begin
      write('    Фамилия: ');
      readln(fam);
      write('    Имя: ');
      readln(imya);
      write('    Отчество: ');
      readln(otch);
      writeln('    вид жилья: часть коммунальной квартиры, квартира, отдельный дом (1-3) ');
      readln (vid);
      writeln('    Число комнат ');
      readln (komn);
      writeln('    Размер площади ');
      readln (plosch);
      writeln('    Введите размер квартплаты ');
      readln (plata);
      writeln('    Введите долг по квартплате ');
      readln (dolg);
    end;
    end;
 
end.

Последний раз редактировалось Stilet; 25.11.2015 в 14:13.
povaki вне форума Ответить с цитированием
Старый 25.11.2015, 14:21   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,840
По умолчанию

А даты где?...
Ладно, не важно. Поиск можно делать так:
Код:
var m:integer;
...
write('Текущий месяц: '); readln(m);
for i:=1 to n do
    with a[i] do if (dolg>0) and (m=mon) then writeln(
     fam:20
    ,imya:20
    ,otch:20
    );
Где mon - поле записи, содержашей номер месяца, за который запись отвечает.
Соответственно:
Цитата:
за последние три месяца
Код:
and (abs(mon-m)<4)
Цитата:
за последние полгода
Код:
and (abs(mon-m)<7)
Цитата:
и более.
Код:
and (abs(mon-m)>6)
Идея ясна?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
массив записей, содержащих сведения о рейсах из аэропорта. Каждая запись содержит сведения о рейсе: povaki Паскаль, Turbo Pascal, PascalABC.NET 0 25.11.2015 12:30
Язык С Создать файл, содержащий сведения о количестве изделий, собранных сборщиками цеха за неделю. Каждая запись содержит поля: ф FYNZIK Помощь студентам 0 04.03.2014 12:51


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS