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 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Пионер
**

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

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


Ну кто-нибудь мне поможет???


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


Знаток
****

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

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


а ты чтонибуть сделал както записную книшку что тебе тут непонятного

и за тебя некто нечего незделает

Сообщение отредактировано: maksimla -


--------------------
Учусь первый год на программиста в колледже. Учусь на втором курсе в школе программирования при научно-исследовательском институте математики и информатики.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Пионер
**

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

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


Помогите вот в этой программе:

program zap_kniga;
type TPhoneBook=record
nam: string[20];
surname: string[30];
phone: string[10];
end;
var F: file of TPhoneBook;
PhoneBook: TPhoneBook;
function Correct: boolean;
begin
writeln;
with PhoneBook do
begin
write('Enter name: ');
readln(Nam);
write('Enter surname: ');
readln(SurName);
write('Enter phone: ');
readln(Phone);
Correct:=(Nam<>'') and (SurName<>'') and (Phone<>'');
end;
end;
procedure CreateBook;
begin
assign(F,'d:\kniga.txt');
rewrite(F);
if IOresult=0 then
while Correct do
write(F, PhoneBook);
close(F);
end;
procedure Find;
var who: string[30];
found: boolean;
begin
write('What found?'); readln(who);
if who='' then exit;
found:=false;
assign(F,'d:\kniga.txt');
reset(F);
if IOresult=0 then
with PhoneBook do
while Not EOF(F) do
begin
read(F,PhoneBook);
if nam=who then
begin
writeln(Nam:30,SurName:30,Phone:10);
found:=true;
end;
end;
close(f);
if Not Found then
writeln(Who,' not found!');
end;
begin
CreateBook;
Find;
writeln(#13#10'Please press Enter');
readln;
end.


реализовать следующее: автоматическое поздровление с днем рождения (по текущей дате), упорядочение по алфавиту и по дате последней корректировки. Пожалуйста!!! smile.gif


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

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

 





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