База данных «Библиотека»
Курсовая работа, 25 Февраля 2015, автор: пользователь скрыл имя
Описание работы
Одной из единиц обмена информации, для типизированных файлов, является "запись", представляющая собой заранее описанную последовательность полей жесткой структуры. На каждом из таких полей располагается одно значение соответствующего типа в машинном формате. Последнее позволяет экономить место, необходимое для хранения данных, и исключает затраты на прямое или обратное преобразование данных между машинным представлением и символьным форматом в процессе обмена. Фиксированный размер каждого поля делает ненужным использование различных разделителей.
Содержание работы
Введение…………………………………………………………………….3
Задачи курсовой работы……………………………………………..……….5
1. Разработка программы…………………….…………….……………....6
1.1. Модель и метод решения задачи…………….….…………...6
1.2. Описание структуры данных……………..…….……….…...6
1.3. Алгоритмы решения задачи……………….…………..…….7
2. Руководство программиста………………………………...….………..8
3. Руководство пользователя………………………………..……………..9
4. Результаты тестирования программы……………………..………….10
Заключение………………………………………………………..………11
Список литературы………………………………………………..……...12
Файлы: 1 файл
KURSACh(1).doc
— 273.50 Кб (Скачать файл)Readln(filename);
Assign(f,filename);
Reset(f);
With st do
begin
ClrScr;
Write('Введите инвентарный номер книги:');
Readln(st2);
x:=0;
While not eof(f) do
begin
Read(f,st);
if st.Inv_nomer=st2 then
begin
ClrScr;
textcolor(yellow);
Writeln('Введите новые данные о книге:');
Write('Инвентарный номер книги:');
Readln(st.Inv_nomer);
Write('Имя автора:');
Readln(st.Name_author);
Write('Наименование книги:');
Readln(st.Naim_knigi);
Write('Год издания:');
Readln(st.God_izd);
Write('Наименование издательства:');
Readln(st.Naim_izd);
Write('Место издания:');
Readln(st.Mesto_izd);
Inv_nomer2:=Inv_nomer;
Name_author2:=Name_author;
Naim_knigi2:=Naim_knigi;
God_izd2:=God_izd;
Naim_izd2:=Naim_izd;
Mesto_izd2:=Mesto_izd;
seek(f,filepos(f)-1);
Write(f,st); x:=1;
end;
end;
Close(f);
end;
if x=0 then
Begin
ClrScr;
Writeln('Записи с таким номером нет!');
Readln
end;
end;
{-----------------------------
Procedure Openfile; {процедура открытия файла}
Var
rez:integer; kn:char;
Begin
While rez<>0 do
begin
ClrScr;
window(6,3,80,50);
textbackground(9);
clrscr;
window(22,10,57,11);
textbackground(5);
clrscr;
textcolor(yellow);
Write('Задайте имя файла:');
Readln(filename);
Assign(f,filename);
Reset(f);
rez:=IOResult;
end;
end;
{-----------------------------
Procedure Outputfile; {вывод данных из файла}
Var st:Bibl;
Begin
While not eof(f) do
Begin
Read(f,st);
ClrScr;
window(6,3,80,50);
textbackground(9);
clrscr;
window(22,5,57,17);
textbackground(5);
clrscr;
textcolor(yellow);
Writeln('Инвентарный номер книги:',st.Inv_nomer);
Writeln('Имя автора:',st.Name_author);
Writeln('Наименование книги:',st.Naim_knigi);
Writeln('Год издания:',st.God_
Writeln('Наименование издательства:',st.Naim_izd);
Writeln('Место издания:',st.
Writeln('Для продолжения нажмите (Enter)');
Readln;
end;
Close(f);
end;
{-----------------------------
Procedure Clearfile; {удаление записи из файла}
Var st:Bibl;
I_N:integer;
fo:file of Bibl;
begin
ClrScr;
window(6,3,80,50);
textbackground(9);
clrscr;
window(16,10,65,12);
textbackground(5);
clrscr;
textcolor(yellow);
Writeln('Задайте имя файла, из которого удаляются элементы');
Readln(filename);
Assign(f,filename);
Reset(f);
Assign(fo,'newfile.dat');
Rewrite(fo);
ClrScr;
window(16,10,71,13);
Writeln('Введите номер книги, запись о которой удаляется');
Readln(I_N);
While not eof(f) do
begin
read(f,st);
if st.Inv_nomer<>I_N then
Write(fo,st);
end;
Close(f);
Close(fo);
Erase(f);
Rename(fo,filename);
end;
{Основная часть программы}
Procedure P_Nom; {поиск по номеру}
var PNo:integer; st:Bibl;
begin
clrscr;
window(6,3,80,50);
textbackground(9);
clrscr;
window(19,5,61,17);
textbackground(5);
clrscr;
textcolor(yellow);
write ('Введите инвентарный номер книги: ');
readln(PNo);
clrscr;
while not eof(f) do begin
read(f,st);
if PNo=st.Inv_nomer then begin
Writeln('Инвентарный номер книги:',st.Inv_nomer);
Writeln('Имя автора:',st.Name_author);
Writeln('Наименование книги:',st.Naim_knigi);
Writeln('Год издания:',st.God_
Writeln('Наименование издательства:',st.Naim_izd);
Writeln('Место издания:',st.
if PNo<> st.Inv_nomer then
Writeln('Книг с таким номером нет!');
Writeln('Нажмите <Enter> для выхода ');
readln; end;
close(f);
end;
Procedure P_Name; {поиск по имени автора}
var PN:string[15]; st:Bibl;
begin
ClrScr;
window(6,3,80,50);
textbackground(9);
clrscr;
window(19,5,61,17);
textbackground(5);
clrscr;
textcolor(yellow);
writeln('Введите полное имя автора: ');
readln(PN);
clrscr;
while not eof(f) do
read(f,st);
if PN=st.Name_author then begin
Writeln('Инвентарный номер:',st.Inv_nomer);
Writeln('Имя автора:',st.Name_author);
Writeln('Наименование книги:',st.Naim_knigi);
Writeln('Год издания:',st.God_
Writeln('Наименование издательства:',st.Naim_izd);
Writeln('Место издания:',st.
end;
if PN<> st.Name_author then
writeln('Авторов с таким именем нет!');
writeln('Нажмите <Enter> для выхода ');
readln;
close(f);
end;
Begin
ClrScr; {создание меню}
window(6,3,80,50);
textbackground(9);
clrscr;
window(20,7,58,19);
textbackground(5);
clrscr;
textcolor(green);
Writeln( ' Меню:');
textcolor(yellow);
Writeln('1:Создание файла');
Writeln('2:Добавление записи в файл');
Writeln('3:Редактирование записи в файле');
Writeln('4:Просмотр файла ');
Writeln('5:Удаление записи из файла');
Writeln('6:Поиск по инвентарному номеру книги');
Writeln('7:Поиск по имени автора');
Writeln('8:Выход из программы');
Readln(k);
Case k of
1: begin Creatfile; Inputfile end;
2:begin Addrecord; Inputfile end;
3: redzap;
4:begin Openfile; Outputfile end;
5:Clearfile;
6:begin Openfile; P_Nom end;
7:begin Openfile; P_Name end;
8:Exit
end;
End.