![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
Mapa |
![]()
Сообщение
#1
|
Группа: Пользователи Сообщений: 7 Пол: Женский Репутация: ![]() ![]() ![]() |
ПОМОГИТЕ исправить ошибку ПЛИЗ!
Код program z13; uses crt; type sp=^kniga; kniga= record fio: string[50]; adres:string; tel:longint; l:sp; end; var ff: file of kniga; bf: kniga; top,p,t,n:sp; fio,ffio:string[50]; adres,fadres:string; y,k:integer; tel,ftel:longint; r:real; flag:integer; {процедура создания файла} procedure pr(var top:sp); var p,t,n:sp; fio:string[50]; adres:string; tel:longint; begin assign(ff,'kniga.dat'); rewrite(ff); reset(ff); if flag=0 then begin top:=nil; flag:=1; end; clrscr; repeat write('BB fio - '); readln(bf.fio); if length(fio)<>0 then begin write(' BB adres - '); readln(bf.adres); write(' BB tel - '); readln(bf.tel); read(ff,bf); close(ff); new(n); n^.adres:=adres; n^.fio:=fio; n^.tel:=tel; n^.l:=nil; t:=top; p:=nil; while (t<>nil) and (fio>t^.fio) do begin p:=t; t:=t^.l; end; if p=nil then begin n^.l:=top; top:=n; end else begin n^.l:=p^.l; p^.l:=n; end; end; until length(fio)=0; t:=top; clrscr; writeln('spisok'); while t<>nil do begin write( t^.fio,' '); write( t^.adres,' '); writeln( t^.tel,' '); t:=t^.l; end; readln; end; {процедура удаления файла} procedure pdelete(var top:sp); var p,t,n:sp; ffio,fio:string[50]; fadres:string; ftel:longint; f:real; begin f:=0; t:=top; clrscr; writeln('кого удалить? (fio,adres,tel) '); readln( ffio); readln( fadres); readln( ftel); repeat if (t^.fio = ffio) and (t^.adres = fadres) and (t^.tel = ftel) then begin p^.l:=t^.l; dispose(t); write( ffio,' '); write( fadres,' '); write( ftel,' '); writeln( 'удален'); f:=1; end; t:=t^.l; until t=nil; if f=0 then begin writeln('в списке нет искомого человека'); readln; end; t:=top; writeln('spisok'); while t<>nil do begin write( t^.fio,' '); write( t^.adres,' '); writeln( t^.tel,' '); t:=t^.l; end; readln; end; {основная программа (меню)} begin assign(ff,'kniga.dat'); rewrite(ff); reset(ff); flag:=0; clrscr; repeat writeln('1 - добавить'); writeln('2 - удалить'); writeln('3 - выйти'); readln(y); clrscr; case y of 1: {writeln('1- процедура выполнена');} pr(top); 2: {writeln('2- процедура выполнена');} pdelete(top); end; if y>3 then writeln('ошибка ввода'); until y=3; end. Сообщение отредактировано: volvo - 1.06.2006 17:23 |
![]() ![]() |
![]() |
Текстовая версия | 23.06.2025 5:23 |