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_izd);
Writeln('Наименование издательства:',st.Naim_izd);
Writeln('Место издания:',st.Mesto_izd);
Writeln('Для продолжения нажмите (Enter)');
Readln;
end;
Close(f);
end;
{--------------------------------------}
ProcedureClearfile; {удаление записи из файла}
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;
{Основная часть программы}
ProcedureP_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_izd);
Writeln('Наименование издательства:',st.Naim_izd);
Writeln('Место издания:',st.Mesto_izd);end;
if PNo<> st.Inv_nomer then
Writeln('Книг с таким номером нет!');
Writeln('Нажмите <Enter> для выхода ');
readln; end;
close(f);
end;
ProcedureP_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_izd);
Writeln('Наименование издательства:',st.Naim_izd);
Writeln('Место издания:',st.Mesto_izd);
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.
Заключение
При написании данной курсовой работы были выполнены поставленные цели по написанию базы данных «Личная библиотека»:
· Поиск информации для написания курсовой в различных источниках;
· Изучить материал по поставленной задаче;
· Изучение языка программирования TurboPascal;
· Написание программы;
· Тестирование программы.
В данной курсовой работе были рассмотрены все поставленные задачи и обсуждены общие принципы создания баз данных и их реализации на языке программирования Паскаль.
Каковы её плюсы: простота и понятность интерфейса программы, что не требует дополнительного обучения или прохождения специальных курсов; нетребовательность к системным ресурсам машины; легкость ввода и отслеживания, что немаловажно для такой программы. При написании и разработке курсового проекта были закреплены знания по работе с Borland Pascal и получены навыки использования справки и других функций языка Pascal.
Проделанная работа позволяет любому пользователю с легкостью создавать большие объемы информации, обрабатывать их, редактировать, делать выборки по определенным критериям и т.д. Использование такой программы значительно облегчает деятельность человека.
Список использованной литературы
1. Абрамов В.Г., Н.П.Трифонов, Г.Н.Трифонова, Введение в язык Паскаль, М., "Наука",1988.
2. Белецкий Ян, «Турбо Паскаль для IBM» , М., Машиностроение, 1991;
3. Епанешников А.М., Епанешников В.А. Программирование в среде TURBOPASCAL 7.0 Москва Диалог-МИФИ, 1996г.
4. Красильников Ю.П., Курилов И.Д., Никонов М.А. Программирование на ТУРБО ПАСКАЛЬ 5.5 Москва Диалог-МИФИ, 1993г.
5. Липаев В.В. «Проектирование программных средств»: Учеб. пособие. М. «Высшая школа» 1990г.
6. Луговая И.З., Л.Н. Чернышов, С.М.Юдин. Динамические структуры данных языка Паскаль, М., Издательство МАИ
7. Машбиц Е.И., И.А. Белоголов и др.; Под общ. ред. А.А. Стогния «Обработка данных с помощью компьютера»: Учеб. пособие. - К.: Высшая школа, 1991.
8. Немнюгин С.А., «Турбо Паскаль», СПб., Питер, 2000.
9. Перминов О.Н., «Программирование на языке ПАСКАЛЬ», М., Радио и Связь, 1988;
10. Фаронов В.В., «Турбо Паскаль. Начальный курс». Учебное пособие, М., Нолидж, 1997;