RSS    

   Реферат: Информационно-справочная система, обеспечивающая работу с базой данных Bit

              

      Процедура  Ask  является  вспомагательной    к    процедуре

Correct(2). Она запрашивает пользователя, желает  ли  он  продол-

жить ввод данных.

                    

       Данная процедура выводит  предупреждение  о  необходимости

сохранения вновь введенных данных.

               

       Эти процедуры выводят сообщения об ошибках.

                      

       Данная процедура выводит сообщение об успешном  выполнении

операции.

                     

domains

        Str=string

        Int=integer

        ФИО=фио(Str,Str,Str)

        ОЦЕН=оцен(Int,Int,Int)

database - студент

           студент(Int,ФИО,Int,Int),

database - абитурьент

           абитурьент(Int,ФИО,Str,Int,ОЦЕН)

predicates

        begin

        main_menu

        autoload

        accept(Int)

        acp(Int,Int)

        working(Int)

        correct(Int)

        view(Int)

        skip(Str,Str,Str)

        skip1(Str,Int,Int)

        ask

        mesage

        error

        io_error

        ok

        save_bd(Int)

        load_bd(Int)

        repeat

goal

        begin.

clauses

/* Основная процедура, стр.8 */

      begin:-

           makewindow(1,26,94,"СПИСОК АБИТУРЬЕНТОВ",0,0,25,80),

            clearwindow,

            autoload,

            main_menu.

/* Главное меню, стр.8 */

      main_menu:-

            repeat,

            cursor(7,0),

            write("                    0 - О системе...  "),nl,

            write("                    1 - Корректировка данных"),nl,

            write("                    2 - Уничтожение записей"),nl,

            write("                    3 - Просмотр базы"),nl,

            write("                    4 - Загрузка базы"),nl,

            write("                    5 - Сохранение базы"),nl,

            write("                    6 - Создание новой базы"),nl,

            write("                    7 - Выход из программы"),nl,

            write("                    =>"),

            readint(C),

            clearwindow,

            working(C),

            clearwindow,

            C = 7,

            retractall(_),

            removewindow.

/* Процедура автоматической загрузки базы данных, стр.9 */

      autoload:-

            retractall(_,абитурьент),

            existfile("bit.dat"),

            consult("bit.dat",абитурьент),

            cursor(21,30),

            write("*База загружена*").

      autoload:-

            makewindow(2,74,79,"ОШИБКА",6,18,8,40),

            cursor(2,10),

            write("Нет базы на диске"),

            sound(70,294),

            removewindow,

            !.

/* Вывод данных о создателе программы, стр.9 */

      working(0):-

            makewindow(3,27,30,"О системе...",0,0,25,80),

            nl,nl,

write("                     Инфоpмационно-спpавочная система"),

            nl,nl,

write("                            Список абитурьентов     "),

            nl,nl,nl,nl,

write("                        Программа составлена в среде      "),

            nl,

write("                             TURBO-PROLOG v.2.0."),

            nl,nl,nl,

write("                            автоp: Данченков А.В."),

            nl,nl,

write("                       МГИРЭА, гp.ИИ-1-95  (с) 1996 г. "),

            nl,

            sound(5,220),

            cursor(22,26),

            write("Нажмите на любую клавишу"),

            readchar(_),

            removewindow,!.

/* Процедура вывода меню корректировки данных, стр.9 */

      working(1):-

            makewindow(4,26,48,"Коppектировка данных",0,0,25,80),

            sound(5,220),

            repeat,

            nl,

            nl,

            cursor(9,0),

            write("        1 - Изменение данных"),nl,

            write("        2 - Добавление данных"),nl,

            write("        3 - Выход в главное меню" ),nl,

            write("        =>"),

            readint(X),

            clearwindow,

            X>0,X<=3,

            correct(X),

            clearwindow,

            X=3,!,

            removewindow.

/* Процедура уничтожения данных, стр.9 */

      working(2):-

            makewindow(5,48,107,"Уничтожение записей",0,0,25,80),

            sound(5,220),

            nl,

            accept(N),

            X=N,

            абитурьент(X,фио(Fm,Nm,Ot),Pl,Ls,оцен(E1,E2,E3)),

            retract(абитурьент(X,фио(Fm,Nm,Ot),Pl,Ls,оцен(E1,E2,E3))),

            ok,

            !,

            removewindow.

      working(2):-

            error,

            removewindow,!.

/* Процедура вывода меню просмотра  базы данных, стр.9 */

      working(3):-

            makewindow(6,30,26,"Просмотp базы",0,0,25,80),

            sound(5,220),

            repeat,

            nl,

            nl,

            cursor(10,0),

            write("            1 - Просмотр основной базы"),nl,

            write("            2 - Просмотр базы BSTUD"),nl,

            write("            3 - Выход в главное меню" ),nl,

            write("            =>"),

            readint(X),

            clearwindow,

            X>0,X<=3,

            view(X),

            clearwindow,

            X=3,!,

            removewindow.

/* Процедура загрузки  базы данных, стр.10 */

      working(4):-

            makewindow(7,62,120,"Загрузка",5,10,15,60),

            sound(5,220),

            repeat,

            nl,nl,

            write("1 - Загрузить основную базу из выбранного файла"),nl,

            write("2 - Загрузить основную базу из файла bit.dat"),nl,

            write("3 - Загрузить базу BSTUD из выбранного файла"),nl,

            write("4 - Загрузить базу BSTUD из файла bstud.dat"),nl,

            write("5 - Выход в основное меню"),nl,

            write("=>"),

            readint(C),

            clearwindow,

            C>0,C<=5,

            load_bd(C),

            clearwindow,

            C = 5,!,

            removewindow.

/* Процедура сохранения базы данных, стр.10 */

      working(5):-

            makewindow(8,62,120,"Сохранение",5,10,15,60),

            sound(5,220),

            repeat,

            nl,nl,

            write("1 - Сохранить основную базу в указанном файле"),nl,

            write("2 - Сохранить основную базу в файле bit.dat"),nl,

            write("3 - Сохранить базу BSTUD в указанном файле"),nl,

            write("4 - Сохранить базу BSTUD в файле bstud.dat"),nl,

            write("5 - Выход в основное меню"),nl,

            write("=>"),

            readint(I),

            clearwindow,

            I>0,I<=5,

            save_bd(I),

            clearwindow,!,

            removewindow.

/* Процедура создания новой базы данных, стр.10 */

   working(6):-

         makewindow(10,43,120,"Создание базы данных BSTUD",6,18,8,40),

         sound(5,220),

         nl,

         retractall(_,студент),

         абитурьент(N,фио(Fam,Nam,Otch),Pol,List,оцен(E1,E2,E3)),

         N=N1, Fam1=Fam, Nam1=Nam,

         Otch1=Otch, List1=List, Sum=E1+E2+E3,

         assertz(студент(N1,фио(Fam1,Nam1,Otch1),List,Sum)),

         fail.

   working(6):-

         write("          База BSTUD создана."),

         nl,

         write("       Не забудьте сохранить ее!"),

         nl,nl,

         write("        Нажмите на любую клавишу"),

         readchar(_),

         removewindow,!.

/* Процедура выхода, стр.10 */

   working(7):-!.

/* Обработка ошибки пользователя, стр.10 */

   working(_):-

         makewindow(16,74,79,"ОШИБКА ВВОДА",6,18,8,40),

         nl,

         write("        Введите число от 0 до 7,"),nl,

         write("  соответствующее выбранному пункту"),nl,nl,nl,

         write("        Нажмите на любую клавишу"),

         sound(20,494),

         sound(30,392),

         readchar(_),

         removewindow.

/* Процедура коррекции данных в базе, стр.10 */

Страницы: 1, 2, 3, 4, 5, 6, 7


Новости


Быстрый поиск

Группа вКонтакте: новости

Пока нет

Новости в Twitter и Facebook

                   

Новости

© 2010.