![]() |
1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!
![]() |
klem4 |
![]()
Сообщение
#1
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
Возникла проблемма.
В программе несколько процедур, все немного запутано, одна процедура в последстыии должна вызвать другую, а та какую нибудть еще и обратно, и еще как нибудь ![]() Но компилятор ругается, если в процедуре B происходит вызов процедуры A , которая описана выше. Вроде можно отключить процесс проверки ошибок на этапе компиляции, но в этом случае программа будет правильно работать ? Можно ли как-то установить последовательность компиляции процедур ? Спасибо. -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
![]() ![]() |
klem4 |
![]()
Сообщение
#2
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
Ну вот. Не очень красиво конечно, но работает вроде как по замыслу, осталось только процедуру редактирования написать и дописать поиск.
Если кто-нибудь обнаружит дикие ошибки ![]() Код program DataBase; uses crt; const n=30; type STUD=record NAME1 : string; {Имя} NAME2 : string; {Фамилия} NAME3 : string; {Отчество} DOB : string; {Дата рождения} HT : string; {Домашний телефон} MT : string; {Мобильный телефон} EMail : string; {E-mail адрес} ICQ : string; {Номер ICQ} end; var s : stud; i,all : byte; studs : array[1..n] of stud; EndRec : boolean; file_s : file of stud; EndInput : boolean; {-------------------------------------------------} procedure menu; forward; procedure search; var nfind:byte; lastname:string; SearchPoint:boolean; Begin clrscr; assign(file_s,'Data.dat'); reset(file_s); writeln('Введите Фамилию для поиска :'); readln(lastname); SearchPoint:=false; i:=1; nfind:=0; while (not(eof(file_s)))and(not(SearchPoint)) do begin read(file_s,s); with s do if name2=lastname then begin nfind:=i; SearchPoint:=True; end; inc(i); end; writeln('nfind=',nfind); close(file_s); repeat keypressed; until keypressed; menu; end; {-------------------------------------------------} procedure output; Begin clrscr; writeln; assign(file_s,'Data.dat'); reset(file_s); i:=1; while (not(eof(file_s))) do begin read(file_s,s); with s do begin writeln(i,'-й студент :'); write('ФИО : ');writeln(name2,' ',name1,' ',name3); write('Дата рождения :');writeln(dob); write('Домашний телефон :');writeln(ht); write('Мобилный телефон :');writeln(mt); write('ICQ : ');writeln(icq); write('E-mail : ');writeln(email); writeln; inc(i); end; end; close(file_s); repeat keypressed; until keypressed; menu; end; {-------------------------------------------------} procedure if_next; var ch:char; Begin writeln('Будете вводить еще студента [Y/N] ?'); repeat ch:=upcase(readkey); until (ch in ['Y','N']); clrscr; if ch in ['Y'] then begin inc(i); inc(all); EndRec:=true; end else begin close(file_s); exit; EndInput:=true; end; end; {--------------------------------------------------} procedure rewr; forward; procedure menu; var ch:char; begin clrscr; writeln('Выберите номер из пункта меню'); writeln; writeln('1). Просмотр информации'); writeln('2). Поиск'); writeln('3). Редактирование'); writeln('4). Выход'); repeat ch:=readkey; until ch in ['1','2','3','4']; case ch of '1': output; '2': search; '3': rewr; '4': exit; end; end; {--------------------------------------------------} procedure rewr; begin writeln('тут что-то будет'); repeat keypressed; until keypressed; menu; end; {--------------------------------------------------} Begin clrscr; assign(file_s,'Data.dat'); reset(file_s); if not(IOResult<>0) then begin close(file_s); menu; end else begin assign(file_s,'Data.dat'); rewrite(file_s); i:=1; all:=1; EndRec:=true; while (i<=n)and(EndRec) do with s do begin writeln('Введите информацию для ',i,'-го студента'); write('Введите Имя : ');readln(name1); write('Введите Фамилию : ');readln(name2); write('Введите Отчество :');readln(name3); writeln('Введите Дату Рождения'); readln(DOB); writeln('Введите Номер Домашнего Телефона'); readln(HT); writeln('Введите Номер Мобильного Телефона'); readln(MT); writeln('Введите E-mail Адрес'); readln(EMail); writeln('Введите Номер ICQ'); readln(ICQ); studs[i]:=s; write(file_s,s); EndRec:=false; if_next; end; end; End. -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
![]() ![]() |
![]() |
Текстовая версия | 21.06.2025 2:03 |