Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

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

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.11.2008, 05:23   #1
Fantoms01
 
Регистрация: 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.

Помогите плиз а то экзамены скоро и эта хрень весит!
Fantoms01 вне форума Ответить с цитированием
Старый 20.11.2008, 08:54   #2
madmot
Форумчанин
 
Регистрация: 04.09.2007
Сообщений: 155
По умолчанию

твой код просмотрел бегло, вот, когда-то делал примерно такую же работу, почитай мож поможет
Вложения
Тип файла: rar BD.rar (1.9 Кб, 14 просмотров)
madmot вне форума Ответить с цитированием
Старый 20.11.2008, 12:50   #3
Fantoms01
 
Регистрация: 20.11.2008
Сообщений: 5
По умолчанию

Цитата:
Сообщение от madmot Посмотреть сообщение
твой код просмотрел бегло, вот, когда-то делал примерно такую же работу, почитай мож поможет
Конечно спасибо но в паскале я колом! так что мне бы кто нибудь мою сделал бы!
Fantoms01 вне форума Ответить с цитированием
Старый 25.11.2008, 12:44   #4
Fantoms01
 
Регистрация: 20.11.2008
Сообщений: 5
По умолчанию

народ ну помагите кто может!
Fantoms01 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запрос с условием отбора [Введите фамилию] 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