Система "Посредник"

Информация - Компьютеры, программирование

Другие материалы по предмету Компьютеры, программирование

?ыход"),nl,

write(" => "),

readint(I),

clearwindow,

I>0,I<=4,

del(I),

clearwindow,

I=4,!,

removewindow.

 

 

 

 

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

 

working(3):-

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

sound(5,220),

repeat,

nl,

nl,

cursor(7,0),

write(" 1 - Просмотр базы данных по поставщикам"),nl,

write(" 2 - Просмотр базы данных по покупателям"),nl,

write(" 3 - Просмотр связей в классифицирующей сети"),nl,

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

write(" =>"),

readint(X),

clearwindow,

X>0,X<=4,

view(X),

clearwindow,

X=4,!,

removewindow.

 

/* Вызов процедуры, выводящей контракты */

 

working(4):- retractall(_,best),

retractall(_,best2),

all_contract,!.

 

/* Процедура вывода меню интерактивного режима */

 

working(5):-

makewindow(4,26,48,"Заключение договоров в интерактивном режиме",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,

interact(X),

clearwindow,

X=3,!,

removewindow.

 

 

/* Процедура выхода из программы */

 

working(6):-flag(1),retract(flag(1)),save_bd,!.

working(6).

 

 

working(_):-

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

nl,

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

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

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

sound(20,494),

sound(30,392),

readchar(_),

removewindow.

 

 

/* Процедуры просмотра баз данных */

 

view(1):-

makewindow(16,31,26,"Просмотp базы данных по поставщикам",0,0,25,80),

write("|=================================================================|"),nl,

write("| ПОСТАВЩИКИ |"),nl,

write("|=================================================================|"),nl,

write("| | | | | Мин . | | | |"),nl,

write("|No| Фирма | Товар |Производитель| партия | Кол-во |Цена|Д|"),nl,

write("|=================================================================|"),nl,

поставщик(N,Firm,Tov,Proizv,Min,Kol,Price,Srok),

cursor(Z,_),

cursor(Z,1),write(N),

cursor(Z,3),write("",Firm),

cursor(Z,16),write("",Tov),

cursor(Z,36),write("",Proizv),

cursor(Z,50),write("",Min),

cursor(Z,59),write("",Kol),

cursor(Z,68),write("",Price),

cursor(Z,73),write("",Srok),

cursor(Z,0),write(""),

cursor(Z,76),write(""),

 

nl,

fail.

 

view(1):-

 

write("|==================================================================|"),

nl,

cursor(22,26),

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

readchar(_),

removewindow.

 

view(2):-

makewindow(16,31,26,"Просмотp базы данных по покупателям",0,0,25,80),

write("|=================================================================|"),nl,

write("| ПОКУПАТЕЛИ |"),nl,

write("|=================================================================|"),nl,

write("| | | | | Требуемая | | |"),nl,

write("|No| Фирма | Товар |Производитель| партия |Цена |Д|"),nl,

write("|=================================================================|"),nl,

 

покупатель(N,Firm,Tov,Proizv,Part,Price,Srok),

cursor(Z,_),

cursor(Z,1),write(N),

cursor(Z,4),write("",Firm),

cursor(Z,20),write("",Tov),

cursor(Z,42),write("",Proizv),

cursor(Z,57),write("",Part),

cursor(Z,67),write("",Price),

cursor(Z,72),write("",Srok),

cursor(Z,0),write(""),

cursor(Z,76),write(""),

nl,

fail.

 

view(2):-

write("|==================================================================|"),

nl,

cursor(22,26),

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

readchar(_),

removewindow.

 

view(3):-

makewindow(16,31,26,"Просмотp связей в классифицирующей сети",0,0,25,80),

nl,nl,

view_sup("производитель"),

cursor(21,26),

write(" Просмотр закончен "),nl,

cursor(22,26),

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

readchar(_),

removewindow,!.

 

view(_).

 

/* Процедуры коррекции данных в базах данных */

 

correct(1):-

makewindow(4,26,48,"Изменение данных о поставщках",0,0,25,80),

nl,

write(" Введите порядковый номер поставщика : "),readint(X),nl,

поставщик(X,Firm,Tov,Proizv,Min,Kol,Price,Srok),

clearwindow,nl,

write(" Порядковый номер поставщика : "),write(X),nl,

write(" Фирма : "),write(Firm),nl,

write(" Товар : "),write(Tov),nl,

write(" Производитель : "),write(Proizv),nl,

write(" Минимальная партия : "),write(Min),nl,

write(" Колличество на складе : "),write(Kol),nl,

write(" Цена за единицу товара : "),write(Price),nl,

write(" Сроки поставки : "),write(Srok),nl,

nl,nl,nl,

write(" Введите название фирмы : "),readln(Firm1),

write(" Введите название товара : "),readln(Tov1),

write(" Введите производителя : "),readln(Proizv1),

write(" Введите минимальную партию : "),readInt(Min1),

write(" Введите колличество на складе : "),readInt(Kol1),

write(" Введите цену за единицу товара : "),readreal(Price1),

write(" Введите сроки поставки : "),readInt(Srok1),nl,

 

X1=X,

retract(поставщик(X,Firm,Tov,Proizv,Min,Kol,Price,Srok)),

assertz(поставщик(X1,Firm1,Tov1,Proizv1,Min1,Kol1,Price1,Srok1)),

!,

ins_sup(Proizv1),

assert(flag(1)),

removewindow.

 

correct(2):-

makewindow(4,26,48,"Изменение данных о покупателях",0,0,25,80),

nl,

write(" Введите порядковый номер покупателя : "),readint(X),nl,

покупатель(X,Firm,Tov,Proizv,Part,Price,Srok),

clearwindow,nl,

write(" Порядковый номер покупателя : "),write(X),nl,

write(" Фирма : "),write(Firm),nl,

write(" Товар : "),write(Tov),nl,

write(" Производитель : "),write(Proizv),nl,

write(" Необходимая партия : "),write(Part),nl,

write(" Цена за единицу товара : "),write(Price),nl,

write(" Сроки поставки : "),write(Srok),nl,

nl,nl,nl,

write(" Введите название фирмы : "),readln(Firm1),

write(" Введите название товара : "),readln(Tov1),

write(" Введите производителя : "),readln(Proizv1),

write(" Введите необходимую партию : "),readInt(Part1),

write(" Введи