Реализовать поиск в динамической бд по цене с указанием интервала возм

Тема в разделе "Другие", создана пользователем -, 5 июн 2010.

  1. Гость

    Уважаемые программисты, помогите пожалуйста решить задачку до конца, начала разбираться с прологом и появились проблемы при решении этой задачи: Написать программу, реализующую книжный магазин. Должна быть представлена следующая информация: название книги, количество экземпляров, цена. Реализовать вывод всей информации о книгах, поиск книги по названию. Реализовать поиск по цене с указанием интервала возможной цены (должна быть выведена информация о книгах, цены которых попадают в указанный интервал). Для удобства работы реализовать меню с соответствующими пунктами.
    А точнее не знаю как сделать поиск по цене с указанием интервала...

    Вот текст программы, которую написал (не хватает соответственно 3го пункта меню):
    Код Prolog
    PREDICATES
    case(integer)
    book(integer,symbol,integer,real)
    input(integer)
    counter(integer)
    menu

    CLAUSES
    book(1,"Flowers",10,50).
    book(2,"Biology",72,100).
    book(3,"Bears",13,150).
    book(4,"Birds",34,200).
    book(5,"Forest Gump",15,250).
    book(6,"Alhimik",78,300).
    book(7,"Agata Kristi",5,350).

    menu:-
    clearwindow,
    write("1.Vivod vsei DB"),nl,
    write("2.Poisk po nazvaniyu"),nl,
    write("3.Poisk po cene"),nl,
    write("4.Exit"),nl,
    write("Vvedite nomer menu: "),
    readint(Menu),
    case(Menu).

    counter(N):-
    N<=7,
    input(N),
    NewN=N+1,
    counter(NewN).

    counter(N):-
    N>7,nl,
    write("Najmite Enter"),
    readln(_),
    menu.

    input(N):-
    book(N,Name,Quantity,Price),
    write(Name," ",Quantity," ",Price),nl.

    case(1):-
    clearwindow,
    write("Vivod vsei DB:"),nl,
    counter(1).

    case(2):-
    clearwindow,
    write("Vvedite nazvanie knigi: "),
    readln(Name),
    book(Num,Name,Quantity,Price),
    write(Name," ",Quantity," ",Price),nl,
    write("Najmite Enter"),
    readln(_),
    menu.

    case(2):-
    clearwindow,
    write("Ne naideno sovpadenii."),nl,
    write("Najmite Enter"),
    readln(_),
    menu.

    case(3):-
    clearwindow,
    write("Ne naideno sovpadenii."),nl,
    write("Najmite Enter"),
    readln(_),
    menu.

    case(4):-
    write("Exit").

    case(_):-
    write("Oshibka, vvodite tolko 1,2,3,4"),nl,
    write("Najmite Enter"),
    readln(_),
    menu.

    GOAL
    menu.


    Работаю на 2ом турбо прологе
     
Загрузка...
Похожие Темы - Реализовать поиск динамической
  1. DarkTorvald
    Ответов:
    0
    Просмотров:
    866
  2. DarkTorvald
    Ответов:
    0
    Просмотров:
    778
  3. DarkTorvald
    Ответов:
    1
    Просмотров:
    1.048
  4. DarkTorvald
    Ответов:
    0
    Просмотров:
    956
  5. DarkTorvald
    Ответов:
    0
    Просмотров:
    799

Поделиться этой страницей