Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 04.05.2017
Сообщений: 12

Работа с файлом. PascalABC.net

03.06.2017, 14:06. Показов 691. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помоги с программой. Проблема в том что я не могу сделать вывод по заданых параметрах Мне нужно выводить фамилии и адреса тех граждан, которые сделали флюорографию в течение последнего месяца и список граждан, у которых на данный момент просроченная дата флюорографии (дата просрочена, если с ее момента прошло больше года).


Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
program hsp;
uses crt;
const n=100;
type Selling = record
  imena,familii,otchestvo,ylica,shcheplennya,job:string;
  year,month,day:real;
  nomer_ylici,x:integer;
end;
var hospital:array[1..10*n] of Selling;
familii,ylica:string;
  
  nomer_ylici,year,month,day:integer;
  b:integer;
  o:byte;
  F:text;
  
  
procedure lastmonth;
begin
var i:integer;
 
write('Фамилия: ');
readln(familii);
write('Улица: ');
readln(ylica);
write('Номер улицы: ');
readln(nomer_ylici);
write('Год: ');
readln(year);
write('Месяц: ');
readln(month);
write('День: ');
readln(day);
for i:=1 to b do
begin
if (familii=hospital[i].familii) and (ylica=hospital[i].ylica) and (nomer_ylici=hospital[i].nomer_ylici) and (year=hospital[i].year) and (month=hospital[i].month) and (day=hospital[i].day) then
writeln(i:2,'. ',hospital[i].familii,' ',hospital[i].imena,'.',hospital[i].otchestvo,' ',hospital[i].ylica,' ',hospital[i].nomer_ylici,' - ',hospital[i].shcheplennya,' - ',hospital[i].job,' ',hospital[i].year,'.',hospital[i].month,'.',hospital[i].day);
end;
end;
 
 
 
 
procedure Vivod;
var i:integer;
begin
for i:=1 to b do
writeln(i:2,'. ',hospital[i].familii,' ',hospital[i].imena,'.',hospital[i].otchestvo,' ',hospital[i].ylica,' ',hospital[i].nomer_ylici,' - ',hospital[i].shcheplennya,' - ',hospital[i].job,' ',hospital[i].year,'.',hospital[i].month,'.',hospital[i].day);
end;
 
 
 
 
 
begin
b:=0;
assign(F,'hospital.txt');
reset(F);
while not eof(F) do
begin
b:=b+1;
  readln(F,hospital[b].familii);
  readln(F,hospital[b].imena);
  readln(F,hospital[b].otchestvo);
  readln(F,hospital[b].ylica);
  readln(F,hospital[b].nomer_ylici);
  readln(F,hospital[b].shcheplennya);
  readln(F,hospital[b].job);
  readln(F,hospital[b].year);
  readln(F,hospital[b].month);
  readln(F,hospital[b].day);
end;
close(F);
 
repeat
writeln('1-Вывести список граждан');
writeln('2-Вывести список граждан, которые сделали флюорографию в течение последнего месяца');
readln(o);
 
if o=1 then Vivod;
if o=2 then lastmonth;
until o>2;
end.
Вот сама програма.

И рандомайзер который создает файл.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
program ka;
uses crt;
const n=200;
type Selling = record
  imena,familii,otchestvo,ylica,shcheplennya,job,structure:string;
  life,kitchen,price:real;
  maxflor,nomer_ylici,flor,x,year,month,day:integer;
end;
var hospital:array[1..10*n] of Selling;
  i,kol,a,k:integer;
  o:byte;
  F:text;
begin
for i:=1 to n do
begin
  a:=random(9)+1;
  if a=1 then hospital[i].imena:='О' else
  if a=2 then hospital[i].imena:='А' else
  if a=3 then hospital[i].imena:='В' else
  if a=4 then hospital[i].imena:='А' else
  if a=5 then hospital[i].imena:='О' else
  if a=6 then hospital[i].imena:='Т' else
  if a=7 then hospital[i].imena:='В' else
  if a=8 then hospital[i].imena:='С' else
  if a=9 then hospital[i].imena:='Ю' else
  if a=10 then hospital[i].imena:='В' else
end;
for i:=1 to n do
begin
a:=random(9)+1;
  if a=1 then hospital[i].familii:='Авдеев(а) ' else
  if a=2 then hospital[i].familii:='Алексеев(а) ' else
  if a=3 then hospital[i].familii:='Андреев(а) ' else
  if a=4 then hospital[i].familii:='Гаврилов(а) ' else
  if a=5 then hospital[i].familii:='Волков(а) ' else
  if a=6 then hospital[i].familii:='Горбунов(а)  ' else
  if a=7 then hospital[i].familii:='Гордеев(а) ' else
  if a=8 then hospital[i].familii:='Гусев(а) ' else
  if a=9 then hospital[i].familii:='Доронин(а) ' else
  if a=10 then hospital[i].familii:='Дорофеев(а)  ' else
  end;
  for i:=1 to n do
  begin
  a:=random(9)+1;
  if a=1 then hospital[i].otchestvo:='О' else
  if a=2 then hospital[i].otchestvo:='А' else
  if a=3 then hospital[i].otchestvo:='В' else
  if a=4 then hospital[i].otchestvo:='А' else
  if a=5 then hospital[i].otchestvo:='О' else
  if a=6 then hospital[i].otchestvo:='Т' else
  if a=7 then hospital[i].otchestvo:='В' else
  if a=8 then hospital[i].otchestvo:='С' else
  if a=9 then hospital[i].otchestvo:='Ю' else
  if a=10 then hospital[i].otchestvo:='В' else
end;
for i:=1 to n do
begin
  a:=random(9)+1;
  if a=1 then hospital[i].ylica:='Бульвар Шевченка' else
  if a=2 then hospital[i].ylica:='Смілянська' else
  if a=3 then hospital[i].ylica:='Пастерівська' else
  if a=4 then hospital[i].ylica:='Сумгаїтська' else
  if a=5 then hospital[i].ylica:='Ватутіна' else
  if a=6 then hospital[i].ylica:='Громова' else
  if a=7 then hospital[i].ylica:='Сагайдачного' else
  if a=8 then hospital[i].ylica:='Садова' else
  if a=9 then hospital[i].ylica:='Гоголя' else
  if a=10 then hospital[i].ylica:='Благовісна' else
end;
 
begin
  for i:=1 to n do
begin
  a:=random(100);
  
  hospital[i].nomer_ylici:=(a)+1;
end;
  
end;
for i:=1 to n do
begin
  a:=random(2);
  if a=1 then hospital[i].shcheplennya:='+'
  else hospital[i].shcheplennya:='-';
end;
for i:=1 to n do
begin
  a:=random(12)+1;
  if a=1 then hospital[i].job:='Слесарь' else
  if a=2 then hospital[i].job:='Механик' else
  if a=3 then hospital[i].job:='Мед. работник' else
  if a=4 then hospital[i].job:='Програмист' else
  if a=5 then hospital[i].job:='Повар' else
  if a=6 then hospital[i].job:='Менеджер' else
  if a=7 then hospital[i].job:='Ветеринар' else
  if a=8 then hospital[i].job:='Учитель' else
  if a=9 then hospital[i].job:='Пожарник' else
  if a=10 then hospital[i].job:='Адвокат' else
  if a=11 then hospital[i].job:='Журналист' else
  if a=12 then hospital[i].job:='Диетолог' else
  if a=13 then hospital[i].job:='Библиотекарь' else
end;
 
for i:=1 to n do
begin
 
hospital[i].year:=2000+random(17);
hospital[i].month:=1+random(11);
 
if ((hospital[i].year mod 4=0) and(hospital[i].year mod 100<>0))
or ((hospital[i].year mod 4=0) and (hospital[i].year mod 400=0)) then k:=29 else k:=28;
if hospital[i].month in [4,6,9,11] then hospital[i].day:=1+random(30)
else if hospital[i].month=2 then hospital[i].day:=1+random(k)
else hospital[i].day:=1+random(31);
 
 
 
 
end;
 
assign(F,'hospital.txt');
rewrite(F);
for i:=1 to n do
begin
writeln(F,hospital[i].familii);
  writeln(F,hospital[i].imena);
  writeln(F,hospital[i].otchestvo);
  writeln(F,hospital[i].ylica);
  writeln(F,hospital[i].nomer_ylici);
  writeln(F,hospital[i].shcheplennya);
  writeln(F,hospital[i].job);
  writeln(F,hospital[i].year);
  writeln(F,hospital[i].month);
  writeln(F,hospital[i].day);
  
end;
close(F);
 
for i:=1 to n do
begin
write(hospital[i].familii);
  write(hospital[i].imena);
  write(hospital[i].otchestvo);
  write(hospital[i].ylica);
  write(hospital[i].nomer_ylici);
  write(hospital[i].shcheplennya);
  write(hospital[i].job);
  write(hospital[i].year,'.');
  write(hospital[i].month,'.');
  writeln(hospital[i].day);
  
end;
 
end.
Вложения
Тип файла: txt hospital.txt (11.9 Кб, 0 просмотров)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.06.2017, 14:06
Ответы с готовыми решениями:

Работа в графическом режиме PascalABC.NET
1) Закрашиваем фон экрана зеленым цветом 2) Рисует белого снеговика 3) Выводит строку символов строка желтым цветом. 1) Через...

В чем разница PascalABC.net и PascalABC
Скажите в чем разница PascalABC.net И PascalABC. Помню когда-то давно программы работающие в PascalABC у меня не работали в .net

Установится ли PascalABC.NET на систему, где установлен только .NET 4.6.1?
Привет всем. Вопрос, собственно, озвучен выше. Конкретнее: есть компьютер со свежеустановленной Win10 x64, на которой присутствует...

1
0 / 0 / 1
Регистрация: 04.06.2017
Сообщений: 10
10.06.2017, 15:23
Ты создавал текстовый и тип файл?))

Сделай через текстовый файл, так лучше будет. Делаешь 3 процедуры:
1) создание тип файла
2) просмотр в тип файле
3) задания.

Не забудь добавить 5 записей в текстовый файл )
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.06.2017, 15:23
Помогаю со студенческими работами здесь

PascalABC.NET и Win ХР
Здравствуйте! Подскажите PascalABC.NET совместим с Win ХР? Спасибо.

PascalABC.NET Записи
Помогите переделать по процедуры и функции:cry: type spisok = record surname: string; name: string; otchestvo:...

Автозагрузка на PascalABC.NET
Уважаемые участники форума, пожалуйста, помогите! Нужен исходный код на помещение проги в автозагрузку, чтоб самозапускалась при каждом...

VK.API на PascalABC.NET
Доброго времени суток, написал модуль для PascalABC.NET, с помощью которого можно использовать vkapi. Вот он: library VKAPI; ...

PascalABC.NET и Excel
Программа должна искать в тексте из файла .xlsx значение,которое перед этим ввел пользователь. assign(f,'D:\Дані.xlsx'); reset(f);...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Программный отбор элементов справочника Номенклатура по группе 1С
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор под наименованию группы (на. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
Программный отбор элементов справочника Сотрудники по перечислениям 1С
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит предопределенное значение перечислений. Процедура. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru