Система "Посредник"
Информация - Компьютеры, программирование
Другие материалы по предмету Компьютеры, программирование
?ыход"),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(" Введи