База данных «Личная библиотека» на языке программирования Turbo Pascal

Автор работы: Пользователь скрыл имя, 22 Января 2011 в 13:18, курсовая работа

Описание работы

Создание БД на языке программирования Turbo Pascal с полным листингом программы

Содержание работы

Введение
Теоретические основы. Записи. Файлы
Основное меню программы
Описание процедур
Листинг программы
Заключение
Список использованной литературы

Файлы: 1 файл

паскаль мой курсовик.doc

— 112.00 Кб (Скачать файл)

     Repeat

     Writeln('Введите данные о новой книге:');

     ClrScr;

     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);

     Write(f,st);

     Write('Ввести данные о новой книге? (Y/N)');

     Readln(k);

     Writeln;

     Until (k='n') or (k='N');

Close(f);

end;

{-----------------------------------------}

Procedure Redzap; {редактирование записи}

Var

   st:Bibl;

   filename:string[20];

   st2:integer;

   Inv_nomer2:integer;

   Name_author2:string[20];

   Naim_knigi2:string[20];

   God_izd2:string[20];

   Naim_izd2:string[20];

   Mesto_izd2:string[30];

   x:integer;

   begin

   ClrScr;

    window(6,3,80,50);

    textbackground(9);

    clrscr;

    window(22,10,57,17);

    textbackground(5);

    clrscr;

    textcolor(yellow);

        Writeln('Задайте имя файла');

        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_izd);

                       Writeln('Наименование издательства:',st.Naim_izd);

                       Writeln('Место издания:',st.Mesto_izd);

                       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_izd);

    Writeln('Наименование издательства:',st.Naim_izd);

    Writeln('Место издания:',st.Mesto_izd);end;

    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_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:Поиск по инвентарному номеру книги');

Информация о работе База данных «Личная библиотека» на языке программирования Turbo Pascal