1)Вывести на экран исходный масссив анкеты в виде Таблице 1 № п/п Фамилия Имя Отчество специальность зарплата
2)упорядочить по возрастанию зарплаты и вывести в виде т.1 3)Вывести на экран сведенья о тех у кого зп> 5000 в виде табл 2 № п/п Фамилия Имя Отчество зарплата
ПОМОГИТЕ ПЛЗ
Автор: volvo 9.03.2006 15:42
Посмотри здесь: http://forum.pascal.net.ru/index.php?s=&showtopic=9680&view=findpost&p=63724 + пользуйся поиском по форуму. Таких задач решалось достаточно много...
Автор: So Slow 14.03.2006 13:21
дык мне без создания файла надо.....я кода пишу в записи типы real, integer, byte то компелятор выдает мне ошибку
Автор: volvo 14.03.2006 13:29
Цитата
я кода пишу в записи типы real, integer, byte то компелятор выдает мне ошибку
А КАК ты пишешь, и КАКУЮ ошибку он выдает, мы конечно ( ) должны сами догадаться?
P.S. To Altair: Пора переименовывать форум в "Телепаты о программировании на Паскале"
Автор: So Slow 14.03.2006 17:42
пишет бред.....что надо енд написать и ставит курсоп после , например, real
Автор: volvo 14.03.2006 18:04
Ты код привести можешь? Или это "Top Secret" ?
Автор: мисс_граффити 14.03.2006 21:35
Цитата(So Slow @ 14.03.2006 13:42)
пишет бред.....что надо енд написать и ставит курсоп после , например, real
end писать не пробовал?...
Описание записи выглядит примерно так:
type имя_записи=record поле_1: тип; поле_2: тип; ... поле_N: тип; end;
Автор: So Slow 15.03.2006 0:35
BoT
Program Note1; uses crt; type note=record f:string; i:string; o:string; spe:string; 3n:real; end; mas=array [1..8] of note; var a:mas; i,j,n,r:integer;
Begin clrscr; write ('Vvod n:'); readln (n); for i:=1 to n do with a[i] do begin write ('F, I, O:'); readln (f, i, o); write ('CneL|uaJl'HocTb:'); readln (spe); write ('3apnJlaTa:'); readln (3n); end;
for i:=1 to n-1 do for j:=i+1 to n do if a[i].3n>a[j].3n then begin r:=a[i].3n; a[i].3n:=a[j].3n; a[j].3n:=r; end;
for i:=1 to n do with a[i].3n do writeln (f, i, o, spe, 3n); readkey; End.
4To He TaK???
Автор: volvo 15.03.2006 0:37
А кто тебе разрешил Идентификатор начинать с цифры? Срочно читай букварь (в виде TP Help). НАЧИНАТЬ имена переменных - только с букв!!!
Дальше...
Смотри на подсветку:
write ('CneL|uaJl'HocTb:');
Видишь, где ЗЕЛЕНАЯ строка заканчивается? Дальше будет ошибка...
Ну, и последнее - несовместимость типов:
r:=a[i].3n;
Integer <- Real делать нельзя... Наоборот - можно, а так - нет...
Автор: So Slow 15.03.2006 1:22
заменил....терь другая ошибка)....
Цитата
... for i:=1 to n do with a[i].zn do writeln (f, i, o, spe, zn); readkey; End.
ставит курсор перед do и пишет error 75: record or object variable expected.
Автор: мисс_граффити 15.03.2006 1:57
не поняла... ты этим что хочешь сделать?! вроде бы пытаешься вывести
a[i].zn.f
то есть попробуй
for i:=1 to n do with a[i] do writeln (f, i, o, spe, zn); readkey; End.
Автор: So Slow 16.03.2006 13:14
кул....работает.....а как сделать чтоб выводилось ввиде таблице....... и еще там есть 4 пункт задания 4) Организовать интерфейс пользователя в виде меню
Автор: klem4 16.03.2006 18:47
Воспользуйся поиском, ищи "задачи записи", "типизированный файл". Релизовано множество БД с меню и выводом в виде таблицы ...
Автор: So Slow 22.03.2006 19:17
кароч если кому надо, то вот
Код
uses crt; type spisok=record f,name,o,spe:string[10]; zp:integer; end; mas=array[1..100] of spisok; var a,f:mas;
y,t,w,i:integer;
procedure vvod; var l:char; begin clrscr; repeat t:=t+1; write('0|0aMuJlu9|='); readln(a[t].f); write('Um9l='); readln(a[t].name); write('oT4ecTBo='); readln(a[t].o);
procedure show; var s:integer; begin if t=0 then writeln('baza pusta') else begin writeln('|--------------------------------------------------------------------|'); write ('|ь| 0|0aMuJlu9| | Um9l | oT4ecTBo'); writeln(' |CneL|uaJlbnocTb|3apnJlaTa|'); writeln('|-|--------------|----------|--------------|---------------|---------|'); for s:=1 to t do begin write('|',s:1,'|'); write(a[s].f:14,'|'); write(a[s].name:10,'|'); write(a[s].o:14,'|'); write(a[s].spe:15,'|'); write(a[s].zp:8,' |'); writeln; end; writeln('|--------------------------------------------------------------------|'); readln; end; end;
procedure poisk; var sf:string; b,e,d,s:integer; begin for s:=1 to t do begin if a[s].zp<5000 then begin write('|',a[s].f:10,'|'); write(a[s].name:10,'|'); write(a[s].o:10,'|'); write(a[s].zp:6,'|'); writeln; d:=d+1; end; end; if d=0 then writeln('Takoj familii net!!!'); readln; end;
procedure sort; {begin for w:=1 to 3 do begin for i:=1 to 2 do begin if a[i].surname>a[i+1].surname then f[i]:=a[i]; a[i]:=a[i+1]; a[i+1]:=f[i]; end; end; show;} var c:spisok; h,m:integer; begin show; m:=1; while m<>t do begin h:=m+1; while (h>1) and (a[h].zp < a[h-1].zp) do begin c.f:=a[h].f; c.name:=a[h].name; c.o:=a[h].o; c.spe:=a[h].spe; c.zp:=a[h].zp; a[h].f:=a[h-1].f; a[h].name:=a[h-1].name; a[h].o:=a[h-1].o; a[h].spe:=a[h-1].spe; a[h].zp:=a[h-1].zp; a[h-1].f:=c.f; a[h-1].name:=c.name; a[h-1].o:=c.o; a[h-1].spe:=c.spe; a[h-1].zp:=c.zp; h:=h-1; end; m:=m+1; end; writeln; show; end;
Begin clrscr; t:=2; with a[1] do begin f:='Ivanov'; name:='Ivan'; o:='Ivanovi4'; spe:='programmer'; zp:=6000; end; with a[2] do begin f:='Petrov'; name:='Petop'; o:='Petrovich'; spe:='ofis plankton'; zp:=7000; end; repeat clrscr; writeln('1-vvod'); writeln('2-vivod'); writeln('3-vivod po vozrastu'); writeln('4-sortirovka'); writeln('0-quit'); readln(y); clrscr; case y of 1:vvod; 2:show; 3:poisk; 4:sort; end; until y=0;
end.
Автор: Студентик13 23.03.2006 0:18
Вау!!!!!!! а я думал...пасибо. P.S хоть и не мне.
Ф Л Е Й М
Последнее китайское предупреждение, дальше будет БАН