Автор: dron4ik 22.04.2010 0:33
сделано)
Код
domains
TTime = STRING
TGroup = STRING
TTeacher = STRING
TRoom = STRING
TStatus = STRING
FILE = dbase----> ЖАЛУЕТСЯ СЮДА ЧТО ДОМАН ЭТОТ УЖЕ ГДЕ ТО ОПИСАН ИЛИ ИСПОЛЬЗОВАН.
facts
item(TTime,TGroup,TTeacher,TRoom,TStatus)
predicates
switch(INTEGER)
repeat
clauses
repeat.
repeat:-repeat.
switch(Case):-Case='0',write("Good-bye... "),nl,!.
switch(Case):-Case='1',
write('\10',"-[ ADD ]-------------------"),
write('\10',"Time: "),readln(Time),
write('\10',"Group: "),readln(Group),
write('\10',"Teacher: "),readln(Teacher),
write('\10',"Room: "),readln(Room),
write('\10',"Tex status: "),readln(Status),
assert(item(Time,Group,Teacher,Room,Status)),fail.
switch(Case):-Case='2',
write('\10',"-[ DELETE ]----------------"),
write('\10',"Time: "),readln(Time),
write('\10',"Group: "),readln(Group),
write('\10',"Teacher: "),readln(Teacher),
write('\10',"Room: "),readln(Room),
write('\10',"Tex status: "),readln(Status),
retract(item(Time,Group,Teacher,Room,Status)),fail.
switch(Case):-Case='3',
write('\10',"-[ EDIT ]------------------"),
write('\10',"REPLACE ITEM "),
write('\10',"Time: "),readln(Time),
write('\10',"Group: "),readln(Group),
write('\10',"Teacher: "),readln(Teacher),
write('\10',"Room: "),readln(Room),
write('\10',"Tex status: "),readln(Status),
retract(item(Time,Group,Teacher,Room,Status)),
write('\10',"NEW ITEM"),
write('\10',"Time: "),readln(Time1),
write('\10',"Group: "),readln(Group1),
write('\10',"Teacher: "),readln(Teacher1),
write('\10',"Room: "),readln(Room1),
write('\10',"Tex status: "),readln(Status1),
assert(item(Time1,Group1,Teacher1,Room1,Status1)),fail.
switch(Case):-Case='4',
write('\10',"-[ SAVING ]----------------"),
save("db.txt"),
write('\10',"BD saved in file db.txt "),nl,fail.
switch(Case):-Case='5',
write('\10',"-[ LOADING ]---------------"),
retractall(item(_,_,_,_,_)),
consult("db.txt"),
write('\10',"BD loaded from file db.txt "),
fail.
switch(Case):-Case='6',
write('\10',"-[ PRINT ]-----------------"),
item(Time,Group,Teacher,Room,Status),
write('\10',"Time: ",Time),
write('\10',"Group: ",Group),
write('\10',"Teacher: ",Teacher),
write('\10',"Room: ",Room),
write('\10',"Tex status: ",Status),
write('\10',"---------------------------"),fail.
goal
repeat,
write('\10',"-[ MENU ]------------------"),
write('\10',"[1] ADD"),
write('\10',"[2] DELETE"),
write('\10',"[3] EDIT"),
write('\10',"[4] SAVE"),
write('\10',"[5] LOAD"),
write('\10',"[6] PRINT"),
write('\10',"[0] EXIT"),
readchar(Sym),nl,switch(Sym),!.
Добавлено через 3 мин. Что в этом коде можно упростить, но не так уж чтоб препод заметил что делал прогу какой нить проффи)