БД ошибка - Prolog

Узнай цену своей работы

Формулировка задачи:

Здравствуйте, почему то ругается на все значения integer. 512 ошибка. Почему? Заранее спасибо

Решение задачи: «БД ошибка»

textual
Листинг программы
Domains
book_name,author,pub_house=string
file=f
Database
catalog(book_name,author)
Predicates
aut_book_name(book_name,author)
book_name_aut(book_name,author)
m(char)
menu
start
Clauses
aut_book_name(name,auth):- catalog(name,auth),!.
book_name_aut(name,auth):-catalog(name,auth),!.
menu:-
     clearwindow, 
     write("1 Получение наименовании книги по автору"),nl,
     write("2 Получения сведений об авторе по наименованию книги"),nl,
     write("3 Добавление новой записи в книжный каталог."),nl, 
     write("4 Изменение наименования книги"),nl, 
     write("5 Удаление записи из книжного каталога"),nl,
     write("0 Выйти"),nl,
     readchar(C), m(C). 
m('1'):- 
       clearwindow, 
       write("Введите автора:"), nl, 
       readln(Auth),
       aut_book_name(Name, Auth), 
       write("Наименование книги: ",Name), 
       readchar(_), 
menu,!.
m('1'):-write("Книги с таким автором нет в каталоге!"),readchar(_),menu.
m('2'):- 
       clearwindow, 
       write("Введите наименование книги:"),nl,
       readln(Name),
       book_name_aut(Name, auth),
       write("Автор: ",auth),
       readchar(_),
       menu.
m('2'):-write("В базе нет такой книги с этим автором!"),readchar(_),menu.
m('3'):- 
       clearwindow, 
       write("Введите наименование книги:"),nl,
       readln(Name),
       write("Введите автора:"),nl,
       readln(Auth),
       assert(catalog(Name,Auth)),write("Операция добавления прошла успешно!"),readchar(_), menu,!.
m('3'):-write("Ошибка!Не удалось добавить в базу!"),readchar(_),menu.
m('4'):- 
       clearwindow, 
       write("Введите автора:"),nl,                                       
       readln(Auth),
       write("Введите новое название книги:"),nl,
       readln(Name),
       retract(catalog(_,Auth)), 
       assert(catalog(Name,Auth)),write("Процесс переименования прошел успешно!"),readchar(_),menu,!.
m('4'):-write("Ошибка!Не удалось переименовать книгу!"),readchar(_),menu.
 
m('5'):- 
       clearwindow, 
       write("Укажите наименование книги,запись о которой нужно удалить"), nl, 
       readln(Name), 
       retract(catalog(Name,_)),write("Процесс удаления прошел успешно!"),readchar(_), 
       menu,!.
m('5'):-write("Ошибка!Нет такой книги в каталоге!"),readchar(_),menu.
m('0'):- 
save("catalog.ddb "), 
retractall(_).
m(_):- 
       menu. 
start:-
       existfile("catalog.ddb"),!, 
       consult("catalog.ddb"),
       menu. 
start:-
       openwrite(f,"catalog.ddb"),
       closefile(f),
       menu. 
GOAL 
Start

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4.214 из 5