IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Записная книжка, помогите подправить программу
сообщение
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 56
Пол: Мужской

Репутация: -  -1  +


Все привет!
Вот нужно написать программу Записная книжка, как можно быстрее! Условия программы:
Анкетные данные, адреса, телефоны, место работы или учебы, должность знакомых, коллег и родственников, характер знакомства, деловые качества и т.д. Автоматическое форматирование поздравления с днем рождения (по текущей дате). Упорядочение по алфавиту и по дате последней корректировки. Поиск по произвольному шаблону.
Предыдущую программу я тоже делал базой данных, так вот, надо ее подправить под записную книжку. Пожалуйста помогите!!!
Вот код программы из которой нужно сделать записную книжку:

USES CRT;
TYPE PNODE=^NODE;
NODE=RECORD
POL:ARRAY[1..10]OF STRING;
NEXT:PNODE
END;
VAR P,PEND,PF,PN: PNODE;
S: STRING;
I,J: BYTE;
F: TEXT;
PROCEDURE SHOW(P:PNODE);
BEGIN
IF P<>NIL THEN
BEGIN
WRITE('POL: ',P^.POL[1],', ');
WRITE('NR: ',P^.POL[2],', ');
WRITE('DR: ',P^.POL[3],', ');
WRITE('O: ',P^.POL[4],', ');
WRITELN('TREB: ',P^.POL[5]);
SHOW(P^.NEXT)
END
END;
FUNCTION NIN(P:PNODE):BYTE;
BEGIN
IF P=NIL THEN
NIN:=0
ELSE
NIN:=1+NIN(P^.NEXT)
END;
BEGIN
NEW(PEND);
NEW(PF);
NEW(PN);
PF:=NIL;
PEND:=NIL;
ASSIGN(F,'O:\spis.TXT');
RESET(F);
REPEAT NEW(P);
IF PF=NIL THEN
BEGIN
PF:=P;
PEND:=P
END
ELSE
BEGIN
PEND^.NEXT:=P;
PEND:=P
END;
I:=0;
READLN(F,S);
REPEAT
I:=I+1
UNTIL S[I]=' ';
P^.POL[1]:=COPY(S,1,I-1);
J:=I;
REPEAT
I:=I+1
UNTIL S[I]=' ';
P^.POL[2]:=COPY(S,J+1,I-J-1);
J:=I;
REPEAT
I:=I+1
UNTIL S[I]=' ';
P^.POL[3]:=COPY(S,J+1,I-J-1);
J:=I;
REPEAT
I:=I+1
UNTIL S[I]=' ';
P^.POL[4]:=COPY(S,J+1,I-J-1);
P^.POL[5]:=COPY(S,I+1,LENGTH(S)-I)
UNTIL EOF(F);
REPEAT
CLRSCR;
WRITELN('1: +');
WRITELN('2: -');
WRITELN('3: FIND');
WRITELN('4: SHOW');
WRITELN('5: CLEAR');
WRITELN('ESC: EXIT');
CASE READKEY OF
'1':BEGIN
NEW(P);
CLRSCR;
WRITE('POL>');
READLN(P^.POL[1]);
WRITE('NR>');
READLN(P^.POL[2]);
WRITE('DR>');
READLN(P^.POL[3]);
WRITE('O>');
READLN(P^.POL[4]);
WRITE('TREB>');
READLN(P^.POL[5]);
IF PF=NIL THEN
BEGIN
PF:=P;
PEND:=P
END
ELSE
BEGIN
WRITE('N? >');
READLN(I);
IF I=1 THEN
BEGIN
P^.NEXT:=PF;
PF:=P
END
ELSE
IF I>NIN(PF) THEN
BEGIN
PEND^.NEXT:=P;
PEND:=P
END
ELSE
BEGIN
PN:=PF;
FOR J:=1 TO I-2 DO
PN:=PN^.NEXT;
P^.NEXT:=PN^.NEXT;
PN^.NEXT:=P
END
END
END;
'2':BEGIN
CLRSCR;
WRITE('N? >');
READLN(I);
IF I>NIN(PF) THEN
BEGIN
PN:=PF;
FOR J:=1 TO NIN(PF)-2 DO
PN:=PN^.NEXT;
PEND:=PN;
PEND^.NEXT:=NIL
END
ELSE
IF I=1 THEN
PF:=PF^.NEXT
ELSE
BEGIN
PN:=PF;
FOR I:=1 TO I-2 DO
PN:=PN^.NEXT;
PN^.NEXT:=PN^.NEXT^.NEXT
END
END;
'3':BEGIN
CLRSCR;
WRITE('POL?> ');
READLN(I);
WRITE('> ');
READLN(S);
PN:=PF;
REPEAT
IF PN^.POL[I]=S THEN
SHOW(PN);
PN:=PN^.NEXT
UNTIL PN=NIL;
READKEY
END;
'4':BEGIN
CLRSCR;
WRITELN('EMPTY');
GOTOXY(1,1);
SHOW(PF);
READKEY
END;
'5':PF:=NIL;
#27:HALT
END
UNTIL
FALSE
END.



--------------------
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 28.03.2024 17:54
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name