БД ошибка - 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