1. Заголовок темы должен быть информативным. В противном случае тема удаляется ... 2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения. 3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали! 4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора). 5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM! 6. Одна тема - один вопрос (задача) 7.Проверяйте программы перед тем, как разместить их на форуме!!! 8.Спрашивайте и отвечайте четко и по существу!!!
Записи, Динамика, Текстовые и Типизированые файлы, простая база
голова гудит от преподавателя! вот набросал процедуру удаления как и плонировал, но опять прокол! и процедура пойска не удаёться(((
"(Показать/Скрыть)
procedure Search(n:integer; Stud: PtrClass; Data: Data_r; var F_kol: integer; var F_mas: mas; var opis:PtrClass); var i:integer; begin ClrScr; F_kol:=0; new(Opis); for i:=1 to n do begin if begin F_kol:=F_kol+1; F_mas[F_kol]:=i; Opis^[F_kol]:=Stud^[i]; end; end; end;
procedure Delete(var n:integer;var Stud: PtrClass; D_kol: integer; D_mas: mas; Opis: PtrClass; OutPut:outclass); { дата мне тут не к чему?} var b,j,i,c:integer; An:char; begin
repeat repeat repeat ClrScr; OutPut(D_kol,Opis); writeln('Do you want to delete some students?'); readln(An); if (An<>'n') and (An<>'y') then begin writeln('Answer Yes or No!'); writeln('Try again. Press Enter...'); readln; end; until (An='n') or (An='y'); if An='n' then exit; repeat clrscr; OutPut(D_kol,Opis); writeln('Tape the number to delete: '); readln(b); if (b>D_kol) or (b<1) then begin writeln('Error in number!!'); writeln('Try again.Press Enter...'); readln; end; until (b<=D_kol) and (b>=1); {как используя обойти эту табличку, не кдалось приспособить outclass} repeat clrscr; writeln( & #39;ДДДДДВДДДДДДДДДДВДДДДДДДДДДДВДДДДДДДДД ДДДДВДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДД' ); writeln('і ь і Name і Surname і Partionymic і Estimation і Data і'); writeln( & #39;ГДДДДДЕДДДДДДДДДДЕДДДДДДДДДДДЕДДДДДДДД ДДДДДЕДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДД' ); with Stud^[D_mas[b]] do writeln('і ', i ,' і ',name:7, ' і ',surname:9,' і ',Partonymic:10,' і' ,Estimation :11, ' і ', Day:4,'.',Month:2,'.',Year:4, ' і'); writeln( & #39;ДДДДДБДДДДДДДДДДБДДДДДДДДДДДБДДДДДДДДД ДДДДБДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДД' ); writeln; writeln('Are you shure? (y/n)'); readln(An); until (An='y') or (An='n'); until An='y'; for i:=1 to D_kol do begin if i=b then begin n:=n-1; D_kol:=D_kol-1; for c:=D_mas[i] to n do Stud^[c]:=Stud^[c+1]; for i:=b to D_kol do begin Opis^[i]:=Opis^[i+1]; D_mas[i]:=D_mas[i+1]-1; end; end; end; clrscr; writeln ('Element is erased!'); readln; until An='n'; end;
набросок
а ещё надо сделать эту же задачу используя связанный список а потом всё это в виде объектов да и занимательную графику вставить...но этим я займусь в среду! а пока надо это доколотить! *помогите люди добрые* (С)