Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.75/95: Рейтинг темы: голосов - 95, средняя оценка - 4.75
 Аватар для and1
4 / 4 / 0
Регистрация: 27.10.2009
Сообщений: 67

Определение количества абитуриентов, проживающих в городе Минске

30.10.2009, 23:03. Показов 21580. Ответов 123

Студворк — интернет-сервис помощи студентам
Всем доброго времени суток. Есть задание:
Используя динамические списки, написать программу формирования ведомости абитуриентов, сдавших вступительные экзамены в институт.

В программе должны присутствовать следующие процедуры:

1. Формирование динамического списка с элементами, содержащими следующие поля:
Ф.И.О. абитуриента, постоянное место жительства, оценки по физике, математике и русскому языку.
2. Вывод списка на экран;
3. Добавление элемента в список;
4. Удаление элемента из списка;
5. Поиск элемента списка по соответствующему полю;
6. Определение количества абитуриентов, проживающих в городе Минске и сдавших экзамены со средним баллом не ниже 4. Вывести их фамилии в алфавитном порядке.
7. Запись в файл и загрузка из файла.

Выбор необходимого действия обеспечить через удобный интерфейс. Для записи и загрузки из файла использовать типизированный файл.

Как другие писать не буду напишите мне программу и тому подобное, сам всегда программирование делал и делать буду... Вопрос вот в чем: с чего тут начинать, список этот к клавиатуры вводить или если разу фаил сделать то сразу из файла данные брать... Плиз подскажите....
1
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
30.10.2009, 23:03
Ответы с готовыми решениями:

Определить количество абитуриентов, проживающих в г Минске
Ведомость абитуриентов, сдавших вступительные экзамены в университет, содержит: Ф.И.О., адрес, оценки. Определить количество абитуриентов,...

Определить количество абитуриентов, проживающих в городе
Определить кол-во абитуриентов, проживающих в городе Грязовец и фамилии которых начинаються с буквы <П>. Ввод информации должен...

Определить количество абитуриентов, проживающих в г. Минске и сдавших экзамены со средним баллом
Добрый вечер,помогите с программой: Ведомость абитуриентов, сдавших вступительные экзамены в университет, содержит: Ф.И.О., адрес,...

123
 Аватар для lexus_ilia
3067 / 727 / 69
Регистрация: 24.09.2008
Сообщений: 1,531
20.11.2009, 03:39
Студворк — интернет-сервис помощи студентам
Сильно растянули Мы тему, так что следует наверное перестать тут писать или придётся её закрыть, а то тема стала похожа на флудильню.
Я очень рад что всё заработало.
Добавьте очистку экрана при вводе второй записи (после ввода первой), при поиске. При открытии файла, сделайте выход сразу в основное меню (точно также и при создании нового файла).
После Вашего окончательного варианта прошу ничего не писать более в теме.
0
 Аватар для and1
4 / 4 / 0
Регистрация: 27.10.2009
Сообщений: 67
20.11.2009, 03:53  [ТС]
Цитата Сообщение от lexus_ilia Посмотреть сообщение
ну так работает или нет ? Если нет, то я посоветовал бы Вам остановку делать в самой функции (как я это сделал), а то получается Вы не видите результат.
единственное что попрошу вас, мил человек, сделать процедуру SpisokFromFile с функцией IOResult ну чтобы красиво было и выложить exe файл. Я так понимаю такая процедура SpisokFromFile будет верной:
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
procedure SpisokFromFile(var f: fl; var nach: link);
var
  flag:boolean; {true=файл существуе }
  spisok: link;
begin
  clrscr;
  flag:=true;
    write('Введите имя файла c данными: ');
    readln(FlName);
    assign(f, FlName); {существование файла не обязательно}
    reset(f);
    if IOResult<>0 then
    begin
      Writeln('Такого файла не существует, повторите ввод.');
      flag:=false;
      readln
    end;
  until flag;
    {чтение файла}
    z.next := nil; {на всякий случай...}
    if nach = nil then
    begin
      new(nach);
      nach^ := z;
      spisok := nach;
      nach^.next:=nil;
    end
    else
    begin
      new(spisok^.next);
      spisok:=spisok^.next;
      spisok^ := z;
      spisok^.next:=nil;
    end;
  end;
  close(f);
end;
1
 Аватар для lexus_ilia
3067 / 727 / 69
Регистрация: 24.09.2008
Сообщений: 1,531
20.11.2009, 03:58
and1, Так если выкладывать exe, то уже сразу с полностью готовой программой (я про все мелочи и маленькие неприятности говорю), Вы доделывайте всё, потом скидывайте сюда, я добавляю проверку на существование файла и на этом наш разговор в данной теме закончим.
0
 Аватар для and1
4 / 4 / 0
Регистрация: 27.10.2009
Сообщений: 67
20.11.2009, 05:00  [ТС]
Как и договорились:
Вот конечный результат: spisok.rar
А вот код на всякий случай:
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
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
uses crt;
type
       link = ^kom;
       kom  = record
               fio : string[15];
             adres : string[40];
               mat : integer;
               fiz : integer;
               rus : integer;
               srb : real;
              next : link;
          end;
       fl = file of kom;
var
     spisok, nach, nach2 : link;
                       z : kom;
           i, n, menu, m : integer;
                       a : char;
                       f : fl;
                  FlName : string;
 
{Ââîä ñïèñêà ñ êëàâèàòóðû}
procedure create(var sp1, nach1:link; var z : kom);
begin
  write('Ôàìèëèÿ È. Î. ñòóäåíòà: ');  {Ââîä äàííûõ ñ êëàâèàòóðû}
  readln(z.fio);                      {Ôàìèëèè, àäðåñà, îöåíîê ïî ïðåäìåòàì}
  write('Àäðåñ ïðîæèâàíèÿ: ');
  readln(z.adres);
  repeat
    write('Îöåíêè (ìàò, ôèçèêà, ðóññ-é) ÷åðåç ïðîáåë: ');
    readln(z.mat, z.fiz, z.rus);
  until (z.mat in [0..5])and(z.fiz in [0..5])and(z.rus in [0..5]); {ïðîâåðêà îöåíêè ïî 5-òè áàëüíîé ñèñòåìå}
  writeln;
  z.srb := (z.mat+z.rus+z.fiz)/3;       {ñðåäíèé áàëë}
  z.next := nil;
  if nach1 = nil then     {ôîðìèðîâàíèå ñïèñêà ñîãëàñíî ââåäåíûì äàííûì ñ êëàâèàòóðû}
  begin
    new(nach1);
    nach1^ := z;
    sp1 := nach1;   {çàïîìèíàåì ïåðâûé ýäåìåíò ñïèñêà}
    nach1^.next:=nil;
  end
  else
  begin
    new(sp1^.next); {âûäåëåíèå ïàìÿòè}
    sp1:=sp1^.next;  {ïåðåõîäèì ê ñëåäóþùåé ÿ÷åéêå â ñïèñêå}
    sp1^ := z;       {ïðèñâîåíèå ÿ÷åéêå ñïèñêà ââåäåíûõ äàííûõ}
    sp1^.next:=nil;
  end;
end;{ create }
 
procedure hapka;
begin
  write('|------------------------------------------------------------------------------|');
  write('|   | Ôàìèëèÿ È. Î. |         Àäðåñ ïîñòîÿííîãî ìåñòà      |    Îöåíêè :  | Ñð.|');  {Ïå÷àòü øàïêè òàáëèöè}
  write('| ¹ |   ñòóäåíòà    |                æèòåëüñòâà            |Ìàò.|Ôèç.|Ðóñ.|áàëë|');
  write('|------------------------------------------------------------------------------|');
end;
 
procedure stroka(sp1 : link);
begin
  gotoXY(5,whereY);write('|',sp1^.fio);
  gotoXY(21,whereY);write('|',sp1^.adres);          {ïå÷àòü ñòðîêè èç ñïèñêà}
  gotoXY(60,whereY);write('|  ',sp1^.mat);
  gotoXY(65,whereY);write('|  ',sp1^.fiz);
  gotoXY(70,whereY);write('|  ',sp1^.rus);
  gotoXY(75,whereY);write('|',sp1^.srb:0:2,'|');
end;
 
{Âûâîä ñïèñêà íà ýêðàí }
procedure print(nach1 : link);
var
  sp1 : link;
begin
  sp1:=nach1;
  i:=0;
  if sp1=nil then writeln('Ñïèñîê ïóñò!') {ïðîâåðêà åñëè ëè â ñïèñêå äàííûå}
  else
  hapka;
  while sp1<>nil do    {ñîáòâåííî ïå÷àòü ñïèñêà}
  begin
    i:=i+1;
    write('| ',i,')');
    stroka(sp1);
    sp1:=sp1^.next;
  end;
    write('|------------------------------------------------------------------------------|');
    writeln;
end; { print }
 
{Äîáàâëåíèå ýëåìåíòà â ñïèñîê }
procedure add(var nach1 : link; z : kom; num:integer);
var
   sp1, sp2 : link;
   i : integer;
begin
  write('Ôàìèëèÿ È. Î. ñòóäåíòà: ');  {Ââîä äàííûõ ñ êëàâèàòóðû}
  readln(z.fio);                      {Ôàìèëèè, àäðåñà, îöåíîê ïî ïðåäìåòàì}
  write('Àäðåñ ïðîæèâàíèÿ: ');
  readln(z.adres);
  repeat
    write('Îöåíêè (ìàò, ôèçèêà, ðóññ-é) ÷åðåç ïðîáåë: ');
    readln(z.mat, z.fiz, z.rus);
  until (z.mat in [0..5])and(z.fiz in [0..5])and(z.rus in [0..5]); {ïðîâåðêà îöåíêè ïî 5-òè áàëüíîé ñèñòåìå}
  z.srb := (z.mat+z.rus+z.fiz)/3;       {ñðåäíèé áàëë}
  write('Ââåäèòå ïîçèöèþ â ñïèñêå äëÿ íîâîãî ýëåìåíòà: ');
  readln(num);
  new(sp1);   {âûäåëåíèå ïàìÿòè}
  sp1^ :=z;   {äîáàâëåíèå ýëåìåíòà â ñïèñîê}
  if nach1=nil then
  begin
    nach1:= sp1;
    sp1^.next:=nil;
  end
  else
  if num=1 then       {âñòàâêà â íà÷àëî ñïèñêà ââåäåííîãî ýëåìåíòà}
  begin
    sp1^.next:=nach1;   {ñäâèãàåì ñïèñîê íà îäèí ýëåìåíòà}
    nach1:= sp1;        {äîáàâëÿåì ýëåìåíò â ñïèñîê}
  end
  else            {åñëè æå ââåäåíà íå ïåðâàÿ ïîçèöèÿ äëÿ äîáàâëåíèÿ}
  begin
    i:=0;
    sp2:= nach1;
    while (i<>num-2) and (sp2^.next<>nil) do {ïîèñê ïîçèöèè äëÿ äîáàâëåíèÿ ýëåìåíòà}
    begin
      i:= i+1;
      sp2:= sp2^.next;
    end;
    sp1^.next:=sp2^.next;
    sp2^.next:= sp1;      {äîáàâëåíèå ýëåìåíòà â ñïèñîê}
  end;
end; { add }
 
{Óäàëåíèå ýëåìåíòà èç ñïèñêà}
procedure del(var nach1 : link; num : integer);
var
   sp1, sp2 : link;
   i : integer;
begin
   if nach1<>nil then
   begin
     if num=1 then   {óäàëåíèå ïåðâîãî ýëåìåíòà èç ñïèñêà}
     begin
       sp1:=nach1;
       nach1:=nach1^.next;
       dispose(sp1);  {îñâîáîæäåíèå ïàìÿòè(óäàëåíèå ýëåìåíòà)}
     end
     else
     begin       {åñëè ââåäåíà íå ïåðâàÿ ïîçèöèÿ äëÿ óäàëåíèÿ}
       i:=0;      {èùåì ââåäåííóþ ïîçèöèþ, ÷òîáû óäàëèòü ýëåìåíò}
       sp2:=nach1;
       while (i<>num-2) and (sp2^.next<>nil) do {ïîèñê ââåäåííîé ïîçèöèè äëÿ óäàëåíèÿ ýëåìåíòà}
       begin
         i:=i+1;
         sp2:=sp2^.next;
       end;
       if sp2^.next<>nil then
       begin
         sp1:=sp2^.next;
         sp2^.next:=sp1^.next;
         dispose(sp1); {îñâîáîæäåíèå ïàìÿòè(óäàëåíèå ýëåìåíòà)}
       end;
     end;
   end;
end; { del }
 
{Ïîèñê ýëåìåíòà â ñïèñêå}
Procedure FindElement(nach : link; m : integer);
var
  sp1, sp2 : link;
  i : integer;
  z : kom;
  eps : real; {äîáàâëåíèå ïåðåìåííîé real íàèìåíîâàíèå srb, ÷òîáû ó z áûëî z.srb}
begin
  clrscr;
  eps:=0.01;  {ò.ê. ïåðåìåííûå íå öåëîãî òèïà ðàâíû áûâàþò î÷åíü ðåäêî, òî ââåä¸ì òî÷íîñòü}
  sp1 := nach;  {óêàçûâàåò íà ïåðâóþ çàïèñü}
  i:=0;
  if sp1=nil then writeln('Ñïèñîê ïóñò');
    case m of    {Ïîèñê ýëåìåíòà â ñïèñêå ïî ñîîòâåòñòâóþùåìó óñëîâèþ}
      1 : begin
            write('Ôàìèëèÿ È. Î. ñòóäåíòà: ');           {ïî ôàìèëèè}
            readln(z.fio);
            writeln;
            while sp1 <> nil do                {ïåðåáåðàåì ñïèñîê}
            begin
              if sp1^.fio = z.fio then          {åñëè íàõîäèì ñîâïàäåíèå}
              begin
                i:=i+1;                         {ïå÷àòàåì ñïèñîê}
                if i=1 then hapka;
                write('| ',i,')');
                stroka(sp1);
                sp1:=sp1^.next;
              end
              else                             {åñëè íåò äâèãàåìñÿ äàëüøå ïî ñïèñêó}
              sp1 := sp1^.next;
            end;
            if i=0 then                   {åñëè ñîâïàäåíèé íå íàéäåíî, ïå÷àòàåì íàäïèñü}
            begin
              writeln;
              writeln('Â ñïèñêå íåòó ñòóäåíòà ñ òàêîé ôàìèëèåé');
              writeln;
            end
            else
              write('|------------------------------------------------------------------------------|');
              writeln;
          end;
      2 : begin
            write('Àäðåñ ïðîæèâàíèÿ: ');                  {ïî àäðåñó}
            readln(z.adres);
            writeln;
            while sp1 <> nil do
            begin
              if sp1^.adres = z.adres then
              begin
                i:=i+1;
                if i=1 then hapka;
                write('| ',i,')');
                stroka(sp1);
                sp1:=sp1^.next;
              end
              else
                sp1 := sp1^.next;
            end;
              if i=0 then
              begin
                writeln;
                writeln('Â ñïèñêå íåòó ñòóäåíòà ñ òàêèì àäðåñîì');
                writeln;
              end
              else
                write('|------------------------------------------------------------------------------|');
                writeln;
          end;
      3 : begin
            write('Ñðåäíèé áàëë: ');                      {ïî ñðåäíåìó áàëëó}
            readln(z.srb);
            writeln;
            while sp1 <> nil do
            begin
              if abs(sp1^.srb-z.srb)<=eps then
              begin
                i:=i+1;
                if i=1 then hapka;
                write('| ',i,')');
                stroka(sp1);
                sp1:=sp1^.next;
              end
              else
                sp1 := sp1^.next;
            end;
            if i=0 then
            begin
              writeln;
              writeln('Â ñïèñêå íåòó ñòóäåíòà ñ òàêèì ñðåäíèì áàëëîì');
              writeln;
            end
            else
              write('|------------------------------------------------------------------------------|');
              writeln;
          end;
    end;
end;
 
{Ñîçäàíèå íîâîãî ñïèñêà nach2 îòñîðòèðîâàííîãî ïî àëôàâèòó (ñîðòèðîâêà ïî ôàìèëèè)}
procedure AddInSortSpisok(z: kom; var nach2: link);
var
  sp1, sp2, t: link ;
begin
  new(t);
  t^ := z; {íîâûé ýëåìåíò}
  sp1 := nach2;
  sp2 := nil;
  while (sp1<>nil) and (sp1^.fio<z.fio) do {èùåì ìåñòî ïðèâÿçêè ïî ôàìèëèè}
  begin
    sp2 := sp1;
    sp1:= sp1^.next;
  end;
  t^.next := sp1; {âñòàâêà, ïðèâÿçêà íà íóæíîå ìåñòî "ìåæäó" p è pr}
  if sp2 = nil then nach2 := t {áóäåò ïåðâûé ýë-ò â ñïèñêå}
              else
                sp2^.next := t;
end;
 
{Ñîðòèðîâêà ñïèñêà nach2 èç ñòóäåíòîâ ïðîæèâàþùèõ â Ìèíñêå è ñî ñðåäíèì áàëîì âûøå 4}
procedure NewSpisokPorjadok(nach : link; var nach2 : link); {Íîâûé ñïèñîê}
var
  sp1 : link; {Óêàçàòåëåì íà íà÷àëî nach2 òîëüêî ñî ñòóäåíòàìè Ìèíñêà ïî âîçðàñòàíèþ ôàìèëèè}
begin
  nach2 := nil;  {Íîâûé óïîðÿäî÷åííûé ñïèñîê}
  sp1:= nach;
  while sp1 <> nil do
  begin
    z := sp1^;
    if (z.srb>=4) and (pos('Minsk',z.adres) > 0) then  {Îïðåäåëåíèå êîëè÷åñòâà àáèòóðèåíòîâ,}
    AddInSortSpisok(z, nach2);                            {ïðîæèâàþùèõ â ãîðîäå Ìèíñêå}
    sp1:= sp1^.next;                              {è ñäàâøèõ ýêçàìåíû ñî ñðåäíèì áàëëîì íå íèæå 4}
  end;
end;
 
{Îòêðûâàåò ñïèñîê èç ôàéëà}
procedure SpisokFromFile(var f: fl; var nach: link);
var
  flag:boolean; {true=ôàéë ñóùåñòâóå }
  sp1: link;
begin
  clrscr;
  repeat
    flag:=true;
    write('Ââåäèòå èìÿ ôàéëà c äàííûìè: ');
    readln(FlName);
    assign(f, FlName); {ñóùåñòâîâàíèå ôàéëà íå îáÿçàòåëüíî}
    reset(f);
    if IOResult<>0 then
    begin
      writeln('Òàêîãî ôàéëà íå ñóùåñòâóåò, ïîâòîðèòå ââîä.');
      flag:=false;
    end;
  until flag;
  nach := nil;
  sp1:= nil;
  while not eof(f) do       {ôîðìèðîâàíèå ñïèñêà èç ôàéëà}
  begin
    read(f, z);    {÷òåíèå ôàéëà}
    z.next := nil; {íà âñÿêèé ñëó÷àé...}
    if nach = nil then
    begin
      new(nach);
      nach^ := z;
      sp1 := nach;
      nach^.next:=nil;
    end
    else
    begin
      new(sp1^.next);
      sp1:=sp1^.next;
      sp1^ := z;
      sp1^.next:=nil;
    end;
  end;
  close(f);
end;
 
{Ñîõðàíÿåò ñïèñîê â ôàéë}
procedure SpisokToFile(var f: fl; var nach: link);
var
  sp1: link;
begin
  clrscr;
  write('Ââåäèòå èìÿ ôàéëà c äàííûìè: ');
  readln(FlName);
  assign(f, FlName); {ôàéë ìîæåò è íå ñóùåñòâîâàòü}
  rewrite(f);         {åñëè â ñïèñêå áûëè äàííûå, îíè áóäóò çàìåíåíû íîâûìè, ñòàðûå óòåðÿíû}
  sp1:= nach;
  while sp1<>nil do   {ñîõðàíåíèå ñïèñêà â ôàéë}
  begin
    z := sp1^;
    write(f, z);
    sp1:=sp1^.next;
  end;
  close(f);
end;
 
begin
  clrscr;
  nach := nil;
  spisok:= nil;
  menu:=1;
  while menu<>0 do
  begin
    writeln('1 - Ôîðìèðîâàíèå ñïèñêà.');
    writeln('2 - Âûâîä ñïèñêà íà ýêðàí.');
    writeln('3 - Äîáàâëåíèå ýëåìåíòà â ñïèñîê.');
    writeln('4 - Óäàëåíèå ýëåìåíòà èç ñïèñêà.');
    writeln('5 - Ïîèñê ýëåìåíòà ñïèñêà ïî ñîîòâåòñòâóþùåìó ïîëþ.');
    writeln('6 - Ñîðòèðîâêà ñïèñêà ïî àëôàâèòó (Ñòóäåíòû èç Ìèíñêà ñäàâøèå ýêçàìåíû âûøå 4).');
    writeln('7 - Çàïèñü â ôàéë è çàãðóçêà èç ôàéëà.');
    writeln('0 - Âûõîä');
    writeln;
    write('Ââåäèòå ïóíê ìåíþ: ');
    readln(menu);
    if (menu in [1..7,0]) then {ïðîâåðêà ïðàâèëüíîñòè ââîäà äàííûõ}
    begin
      case menu of  {Îñíîâíîå ìåíþ ïðîãðàììû}
        1 : begin
              clrscr;
              repeat
                create(spisok,nach,z);
                write('Äëÿ âûõîäà íàæìèòå E èëè e');
                readln(a);
              until (a = 'E') or (a = 'e');
            end;
        2 : begin
              clrscr;
              print(nach);
            end;
        3 : begin
              add(nach,z,n);
              writeln;
            end;
        4 : begin
              writeln;
              write('Ââåäèòå íîìåð ýëåìåíòà, êîòîðûé íåîáõîäèìî óäàëèòü: ');
              readln(n);
              writeln;
              del(nach,n);
            end;
        5 : begin
              clrscr;
              writeln('Âûáèðèòå ïîëå ïî êîòîðîìó íåîáõîäèìî ïðîèçâåñòè ïîèñê: ');
              writeln;
              writeln('1 - Ïîèñê ïî Ôàìèëèè.');
              writeln('2 - Ïîèñê ïî Àäðåñó.');
              writeln('3 - Ïîèñê ïî Ñðåäíåìó áàëëó.');
              writeln('0 - Âûõîä.');
              writeln;
              repeat
                write('Âûáåðèòå ïóíê ìåíþ: ');
                readln(m);
                writeln;
                if m in [1..3,0] then
                begin
                  case m of
                    1 : FindElement(nach,m);
                    2 : FindElement(nach,m);
                    3 : FindElement(nach,m);
                  end;
                end
                else
                begin
                  writeln('Äîñòóïíû òîëüêî ïóíêòû 1, 2, 3, 0'); {Ïîäìåíþ ïðîãðàììû}
                  writeln;
                end;
              until m in [1..3,0];
            end;
        6 : begin
              clrscr;
              AddInSortSpisok(z,nach2);
              NewSpisokPorjadok(nach,nach2);
              if nach2 = nil then
              begin
                writeln('Ñïèñîê íå ñîäåðæèò Ìèí÷àí ñ ñðåäíèì áàëëîì âûøå 4');
                writeln;
              end
              else
              begin
                writeln('         Ñïèñîê ñòóäåíòîâ Ìèí÷àí ñî ñðåäíèì áàëëîì âûøå 4 ïî ýêçàìåíàì:');
                print(nach2);
              end;
            end;
        7 : begin
               clrscr;
               repeat
                 writeln('1 - Îòêðûòü ôàéë');
                 writeln('2 - Ñîõðàíèòü ôàéë');
                 writeln;
                 write('Âûáåðèòå äåéñòâèå ñ ôàéëîì: ');
                 readln(m);
                 if m in [1,2] then {Ïîäìåíþ ïðîãðàììû}
                 begin
                   case m of
                     1 : SpisokFromFile(f,nach);
                     2 : SpisokToFile(f,nach);
                   end;
                 end
                 else
                   begin
                     writeln;
                     writeln('Íå âåðíûé ââîä, äîòóïíû òîëüêî ïóíêòû 1, 2');
                     writeln;
                   end;
                 writeln;
               until m in [1,2];
            end;
      end; {case}
    end
    else
    begin
      writeln;
      writeln('Äîñòóïíû òîëüêî ïóíêòû ìåíþ 1,2,3,4,5,6,7,0');
      writeln;
    end;
  end; {while}
end.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.11.2009, 05:00

Вывести абитуриентов, проживающих в г.Минске и сдавших экзамены со средним баллом не ниже 8.
Задание такое 10. Ведомость абитуриентов, сдавших вступительные экзамены в университет, содержит Ф.И.О., адрес, оценки. Вывести...

Определить количество абитуриентов, проживающих в городе Киеве
Задана ведомость абитуриентов, сдавших вступительные экзамены в университет. В каждой строке данной ведомости записано фамилию абитуриента,...

Определение общего количества больных в городе через t часов
Задание на картинке

Распечатать данные о студентах, проживающих в городе
3)Составить программу создания и обработки списка объектов. Информацию о каждом объекте оформить в программе в виде записи. Совокупность...

Вывести фамилию студентов проживающих в одном городе
Имеется информация о 200 студентах:ФИО, город, номер дома, улица.Вывести фамилию студентов проживающих в одном городе(городов всего 20)


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

Или воспользуйтесь поиском по форуму:
124
Ответ Создать тему
Новые блоги и статьи
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru