|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
20.11.2008, 05:23 | #1 |
Регистрация: 20.11.2008
Сообщений: 5
|
Введите данные в массив о N числа туристов
Парни нужна помощь а то у меня зачет а прогу не могу сделать!
Задание такое! Введите данные в массив о N числа туристов. Если известны их Фамилия, Пол, Возраст, найти самого старшего и вывести его на экран, и вывести на экран всех туристов возраст которых больше среднего. Масив необходимо записать в Фаил. И сделать меню из пунктов 1) Добавление туристов в фаил 2) Нахождение самого старшего 3) Туристы возраст которых выше среднего Вот мои наброски но почемуто прога не работает program poxod; type tyrist=record fam:string[20]; pol:string[10]; vozr:integer; end; var pox: array[1..40] of tyrist; c:tyrist; b: char; var fil: file of tyrist; filename: string[12]; tur:tyrist; a: char; i,n,m: integer; procedure newfile; begin write ('vvedite name fila:'); readln (filename); assign (fil, filename); rewrite (fil); end; procedure openfile; begin write ('vvedite name file:'); readln (filename); assign (fil, filename); reset (fil); end; procedure vvod; var b: char; i,n,m,d:integer; k:real; begin newfile; writeln('skolko vsego tyristov'); readln(n); writeln('vv dannue po kazhdomy tyristy'); for i:=1 to n do with pox[i] do begin write('vv familiu',i,'tyrista'); readln(fam); write('vv pol',i,'tyrista'); readln(pol); writeln('vv vozrast',i,'tyrista'); readln(vozr); readln; end; write(fil,tur); writeln('turistov v faile ',filesize(fil)); end; procedure star; begin for i:=1 to n-1 do Begin for m:=i to n do if pox[i]. vozr>pox[m].vozr then begin c:=pox[i]; pox[i]:=pox[m]; pox[m]:=c; readln; end; end; end; procedure sred; var d,c:integer; k:real; begin writeln(pox[n].fam:20,pox[n].pol:10,pox[n].vozr:3); d:=0; for i:=1 to n do d:=pox[i].vozr+d; k:=d/n; writeln('srednii vozrast',k:2:2); for i:=1 to n do if pox[i].vozr>k then writeln(pox[i].fam:20,pox[i].pol:10,pox[i].vozr:3); readln; end; procedure menu2; var d:char; begin writeln ('1.vvod famili'); writeln ('2.poisk samogo starhego'); writeln ('3.poisk srednego vozrasta'); writeln ('vvedite nomer trebuemogo deistvia, i najmite ENTER'); readln(a); case a of '1': begin vvod; close(fil); menu2; end; '2': begin openfile; star; menu2; end; '3': begin openfile; sred; menu2; end; else writeln ('nekorrektny vvod! perezapustite programmu!'); end; end; begin writeln ('1.rabota s bazoi'); writeln ('2.Vihod'); writeln ('vvedite nomer trebuemogo deistvia, i najmite ENTER'); readln(b); case b of '1': begin menu2; end; else writeln ('nekorrektny vvod! perezapustite programmu!'); end; end. Помогите плиз а то экзамены скоро и эта хрень весит! |
20.11.2008, 08:54 | #2 |
Форумчанин
Регистрация: 04.09.2007
Сообщений: 155
|
твой код просмотрел бегло, вот, когда-то делал примерно такую же работу, почитай мож поможет
|
20.11.2008, 12:50 | #3 |
Регистрация: 20.11.2008
Сообщений: 5
|
|
25.11.2008, 12:44 | #4 |
Регистрация: 20.11.2008
Сообщений: 5
|
народ ну помагите кто может!
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Запрос с условием отбора [Введите фамилию] | spets | Microsoft Office Access | 9 | 21.01.2014 02:02 |
Дан двумерный массив случайных чисел. Построить одномерный из исходного, выбрав из него все числа кратные | ProWinD | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 16.06.2008 20:12 |
ДАНЫ 4 ЧИСЛА X Y Z W составит программу найти произведение все положительные нечетные числа | Woland-itn | Паскаль, Turbo Pascal, PascalABC.NET | 3 | 23.03.2008 21:49 |
Как в Microsoft Visual Basic 6.0 открыть Exel файл, считать с него данные(числа) и дальше работать с ними | Dimon88 | Microsoft Office Excel | 7 | 20.10.2007 13:30 |