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
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
| program kursovaya;
type
lists = record
nazv: string;
sfera: string;
colrab: integer;
street: string;
nomer: integer;
end;
var
c,n:integer;
a: array[1..1000] of lists;
f:text;kol:integer;
procedure skol;
var
i:integer;
begin
assign(f,'shops.txt');
Reset(f);
while not Eof(f) do
begin
Inc(i);
Readln(f,a[i].nazv);
end;
Close(f);
kol:=round(i/5);
Writeln(i);
end;
procedure chitatfile;
var
i:integer;
begin
skol;
i:=0;
assign(f,'shops.txt');
Reset(f);
while not eof(f) do
begin
inc(i);
readln(f,a[i].nazv);
readln(f,a[i].sfera);
readln(f,a[i].colrab);
readln(f,a[i].street);
readln(f,a[i].nomer);
end;
close(f);
end;
procedure vibor;
var
i,max:integer;
mag:string;
begin
chitatfile;
Max:=a[1].colrab;
mag:=a[1].nazv;
for i:=2 to kol do
begin
if a[i].colrab > Max then
begin
Max :=a[i].colrab;
mag:=a[i].nazv;
end;
end;
Writeln(' Маназин : ',mag,' кол-во рабочих : ',max);
end;
procedure viviodma;
var
s, i: integer;
street, k: string[20];
begin
chitatfile;
writeln('Введите название улицы');
readln(street);
writeln('По заданной улице было найдено :');
for i := 1 to 100 do
begin
k := a[i].street;
if street = k then
begin
s := i;
writeln(' Название магазина - ', a[s].nazv, ' Кол-во работников - ', a[s].colrab, ' Сфера продаж - ', a[s].sfera);
end;
end;
end;
procedure colrab;
var
i:integer;
begin
chitatfile;
for i:=1 to kol do
begin
Writeln(' Магазин ',a[i].nazv,' кол-во рабочих ',a[i].colrab);
end;
end;
procedure vivod;
var
i:integer;
begin
chitatfile;
for I:=1 to kol do
begin
Writeln(' Магазин ',a[i].nazv,' сфера производства ',a[i].sfera,' кол-во рабочих ',a[i].colrab,' улица ',a[i].street,':',a[i].nomer);
end;
end;
procedure dobav;
var
z,i:integer;
begin
assign(f,'shops.txt');
Append(f);
Writeln('Введите кол-во магазинов которые хотите добавить');
Readln(z);
for i:=1 to z do
begin
write('Введите название магазина : ');
readln(a[i].nazv);
write('Введите сфера магазина : ');
readln(a[i].sfera);
write('Введите кол-во рабочих магазина : ');
readln(a[i].colrab);
write('Введите улицу магазина : ');
readln(a[i].street);
write('Введите номер магазина : ');
readln(a[i].nomer);
end;
for i:=1 to z do
begin
writeln(f,a[i].nazv);
writeln(f,a[i].sfera);
writeln(f,a[i].colrab);
writeln(f,a[i].street);
writeln(f,a[i].nomer);
end;
Close(f);
end;
begin
repeat
writeln;
writeln('|<------------------------------------------------------------------>|');
writeln(' | 1.Добавить магазин');
writeln('|<------------------------------------------------------------------>|');
writeln(' | 2.Ввести улицу чтоб узнать магазин');
writeln(' | 3.Вывести все магазины');
writeln(' | 4.Вывести всех рабочих');
writeln(' | 5.Найти магазин у которого больше всего рабочих');
writeln(' | 6.Выйти из программы');
writeln('|<------------------------------------------------------------------>|');
readln(c);
case c of
1:begin writeln('|<------------------------------------------------------------------>|'); dobav;end;
2:begin writeln('|<------------------------------------------------------------------>|'); viviodma;end;
3:begin writeln('|<------------------------------------------------------------------>|'); vivod;end;
4:begin writeln('|<------------------------------------------------------------------>|'); colrab;end;
5:begin writeln('|<------------------------------------------------------------------>|'); vibor; end;
end;
until c=6;
end. |