БД ошибка - Prolog

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

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

Здравствуйте, почему то ругается на все значения integer. 512 ошибка. Почему? Заранее спасибо
Листинг программы
  1. Domains
  2. surname, name = string
  3. mark1, mark2, mark3, mark4 = integer
  4. group = integer
  5. file=f
  6. Database
  7. catalog(surname, name, group, mark1, mark2, mark3, mark4)
  8. Predicates
  9. student(surname, name, group, mark1, mark2, mark3, mark4)
  10. m(char)
  11. menu
  12. start
  13. /*sum(integer)*/
  14. Clauses
  15. student(surnames, names, groups, mark1s, mark2s, mark3s, mark4s):- catalog(surnames, names, groups, mark1s, mark2s, mark3s, mark4s),!.
  16. menu:-

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

textual
Листинг программы
  1. Domains
  2. book_name,author,pub_house=string
  3. file=f
  4. Database
  5. catalog(book_name,author)
  6. Predicates
  7. aut_book_name(book_name,author)
  8. book_name_aut(book_name,author)
  9. m(char)
  10. menu
  11. start
  12. Clauses
  13. aut_book_name(name,auth):- catalog(name,auth),!.
  14. book_name_aut(name,auth):-catalog(name,auth),!.
  15. menu:-
  16.      clearwindow,
  17.      write("1 Получение наименовании книги по автору"),nl,
  18.      write("2 Получения сведений об авторе по наименованию книги"),nl,
  19.      write("3 Добавление новой записи в книжный каталог."),nl,
  20.      write("4 Изменение наименования книги"),nl,
  21.      write("5 Удаление записи из книжного каталога"),nl,
  22.      write("0 Выйти"),nl,
  23.      readchar(C), m(C).
  24. m('1'):-
  25.        clearwindow,
  26.        write("Введите автора:"), nl,
  27.        readln(Auth),
  28.        aut_book_name(Name, Auth),
  29.        write("Наименование книги: ",Name),
  30.        readchar(_),
  31. menu,!.
  32. m('1'):-write("Книги с таким автором нет в каталоге!"),readchar(_),menu.
  33. m('2'):-
  34.        clearwindow,
  35.        write("Введите наименование книги:"),nl,
  36.        readln(Name),
  37.        book_name_aut(Name, auth),
  38.        write("Автор: ",auth),
  39.        readchar(_),
  40.        menu.
  41. m('2'):-write("В базе нет такой книги с этим автором!"),readchar(_),menu.
  42. m('3'):-
  43.        clearwindow,
  44.        write("Введите наименование книги:"),nl,
  45.        readln(Name),
  46.        write("Введите автора:"),nl,
  47.        readln(Auth),
  48.        assert(catalog(Name,Auth)),write("Операция добавления прошла успешно!"),readchar(_), menu,!.
  49. m('3'):-write("Ошибка!Не удалось добавить в базу!"),readchar(_),menu.
  50. m('4'):-
  51.        clearwindow,
  52.        write("Введите автора:"),nl,                                      
  53.        readln(Auth),
  54.        write("Введите новое название книги:"),nl,
  55.        readln(Name),
  56.        retract(catalog(_,Auth)),
  57.        assert(catalog(Name,Auth)),write("Процесс переименования прошел успешно!"),readchar(_),menu,!.
  58. m('4'):-write("Ошибка!Не удалось переименовать книгу!"),readchar(_),menu.
  59.  
  60. m('5'):-
  61.        clearwindow,
  62.        write("Укажите наименование книги,запись о которой нужно удалить"), nl,
  63.        readln(Name),
  64.        retract(catalog(Name,_)),write("Процесс удаления прошел успешно!"),readchar(_),
  65.        menu,!.
  66. m('5'):-write("Ошибка!Нет такой книги в каталоге!"),readchar(_),menu.
  67. m('0'):-
  68. save("catalog.ddb "),
  69. retractall(_).
  70. m(_):-
  71.        menu.
  72. start:-
  73.        existfile("catalog.ddb"),!,
  74.        consult("catalog.ddb"),
  75.        menu.
  76. start:-
  77.        openwrite(f,"catalog.ddb"),
  78.        closefile(f),
  79.        menu.
  80. GOAL
  81. Start

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


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

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

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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут