![]() |
1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!
![]() |
V@nix |
![]()
Сообщение
#1
|
Группа: Пользователи Сообщений: 3 Пол: Мужской Репутация: ![]() ![]() ![]() |
Народ помогите. Есть 2 файла 1 и 2, в 1-ом файле содержатся записи о книгах:
book= record
cod:integer;{шифр книги}
title:integer;{название книги}
ekz:byte;{кол-во книг в каталоге}
end;
В файле 2 - запись об абонементах: man=record
ncb:integer; {номер читательского билета}
{книги находящиеся у абонемента от 1 до 20 книг}
k:array[1..20] of atribut;
запись atribut выглядит так: atribut=record
shifr:integer;
when:integer;
dowhen:integer;
end;
Вопрос! Когда абонемент берет книгу то должны вносится изменения в запись book (файл №1). Изменяется кол-во книг текущей книги book.ekz. И шифр книги cod добавляется в запись man.k[i].shifr ... Как внести изменения в существующую запись (запись находится в файле)? |
![]() ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
А ты уже нашел запись, которую нужно менять, или нужно ее найти и изменить?
|
V@nix |
![]()
Сообщение
#3
|
Группа: Пользователи Сообщений: 3 Пол: Мужской Репутация: ![]() ![]() ![]() |
Цитата(volvo @ 21.05.05 13:53) А ты уже нашел запись, которую нужно менять, или нужно ее найти и изменить? Я нашел запись. Лучше покажу, вот эта процедура которая производит операцию выдача книг procedure vidacha;
var
name,shif,o:integer;
ntitle,navtor:string;
begin
writeln('Введите номер Ч/б '); readln(name);
writeln('Введите название книги'); readln(ntitle);
writeln('Введите автора книги'); readln(navtor);
clrscr;
reset(A);
reset(f);
while (not eof(a)) and (not eof(f)) do begin
read(a,man);
read(f,book);
if (book.title=ntitle) and (book.avtor=navtor) then begin
for o:=1 to 10 do begin
if man.k[o].shifr=0 then begin
{man.k[o].shifr нужно добавить в запись о абонементах }
man.k[o].shifr:=book.cod;
{book.ekz нужно изменить ekz в существующей записи о книге }
book.ekz:=book.ekz-1;
readkey; exit;
end;
end;
end;
end;
ReadKey;
close(A);
close(f);
End;
|
![]() ![]() |
![]() |
Текстовая версия | 8.08.2025 8:33 |