Последний рывок и спать...
А это чтоб вам жизнь сказкой не казалось)) Лично для моего засыпающего омзга это все больше и больше напонимает китайский язык...
Любуйтесь:
читать дальшеDomains
fio=string
group=string
nz=string
mpract=string
gorod=string
ocenka=integer
list=string*
list1=integer*.
DATABASE - mydb
dyn_stud(fio,group,nz,mpract,gorod,ocenka).
PREDICATES
menu
process(integer)
clear_database
error
do_mbase
repeat
write_list(list)
length(list1,integer)
sumlist(list1,integer).
GOAL
do_mbase.
CLAUSES
repeat.
repeat:-repeat.
clear_database:-retractall(dyn_stud(_,_,_,_,_,_)).
do_mbase:-makewindow(1,23,7,"Data base",0,0,25,80),menu,clear_database.
menu:-repeat,clearwindow,
write("####################################"),nl,
write("## ##"),nl,
write("## 0. quit ##"),nl,
write("## 1. add fact ##"),nl,
write("## 2. delete fact ##"),nl,
write("## 3. student ##"),nl,
write("## 4. students ##"),nl,
write("## 5. average ##"),nl,
write("## 6. save DB ##"),nl,
write("## 7. load DB ##"),nl,
write("## ##"),nl,
write("## Chose N of action: ##"),nl,
readint(Choice),nl,process(Choice),Choice=0,!.
process(1):-makewindow(2,32,3,"Add record",2,20,18,55), shiftwindow(2),write("Last name:"),nl,readln(P_fio),
write("Group #:"),nl,readln(P_group),
write("Record-book #:"),nl,readln(P_number),
write("Company:"),nl,readln(P_mpract),
write("City:"),nl,readln(P_gorod),
write("Grade (0-10)^"),nl,readint(P_ocenka),
assertz(dyn_stud(P_fio,P_group,P_number,P_mpract,P_gorod,P_ocenka)),
write(P_fio," is added in DB"),nl,!,
write("Press Space to continue"),readchar(_),removewindow.
process(2):-makewindow(3,32,3,"Delete record",2,20,18,55),shiftwindow(3),
write("Input students last name for deleting"),nl,readln(P_fio),
retract(dyn_stud(P_fio,_,_,_,_,_)),
write(P_fio," id deleted from DB"),nl,
write("Press Space to continue"),readchar(_),removewindow.
process(3):-makewindow(4,32,3,"Display record",2,20,18,55),shiftwindow(4),
write("Input Fio for display"),nl,readln(P_fio),
dyn_stud(P_fio,P_group,P_number,P_mpract,P_gorod,P_ocenka),nl,
write("Last name: ",P_fio),nl,
write("# Group: ",P_group),nl,
write("# record-boo: ",P_number),nl,
write("Company: ",P_mpract),nl,
write("City: ",P_gorod),nl,
write("Grade: ",P_ocenka),nl,!,
write("Press Space to continue"),readchar(_),removewindow.
process(4):-makewindow(5,32,3,"List name",2,20,18,55),shiftwindow(5),
findall(P_fio,dyn_stud(P_fio,_,_,_,_,_),L),
write("["),write_list(L),write("]"),nl,
write("Press Space to continue"),readchar(_),removewindow.
process(5):-makewindow(6,32,3,"srednij ball",2,20,18,55),shiftwindow(6),
findall(P_ocenka,dyn_stud(_,_,_,_,_,P_ocenka),L),length(L,N),
sumlist(L,Sum),Sr=Sum/N, write("average = ",Sr),nl,
write("Press Space to continue"),readchar(_),removewindow.
process(6):-makewindow(7,32,3,"Save DB on disk ",2,20,18,55),shiftwindow(7),
write("Input DB name <name.dba> "),nl,readln(NF),
save(NF,mydb),
write("DB is saved"),nl,
write("Press Space to continue"),readchar(_),removewindow.
process(7):-makewindow(8,32,3,"Load DB from disk ",2,20,18,55), shiftwindow(8),write("Input DB name <name.dba>"),nl,
readln(NF),consult(NF,mydb), nl,
write("DB is loaded "),nl,
write("Press Space to continue"),
readchar(_),removewindow.
process(0):-write("Do you want exit from the program?(Y/N)"),
readln(Ans),frontchar(Ans,'Y',_),!.
process(Choice):-Choice<0,error.
process(Choice):-Choice>7,error.
error:-write("Input N mode(0-7): "),
write("Press Space to continue"),readchar(_).
write_list([]).
write_list([H|T]):-write(H," "),write_list(T).
sumlist([],0).
sumlist([H|T],Sum):-sumlist(T,SumT),Sum=SumT+H.
length([],0).
length([H|T],N):-length(T,N1),N=N1+1.
Но машины от меня иногда не по детски глючит)
я "не в духе" просто подошла так же... папа работал, все бвло прекрасно, я подошла - віключился. Просто. Без звука почти...
*смеется* Хотя пару раз наши лабораторские запускали так, подхожу я, счажусь, понимаю что делать много а не хо. Оно не включается, после долгих разговоров подруги и решения идти за другой, я выдаю "Солнышко, лапочка, включайся, милый, а?" доообрым-добрым голосом...
включился. моментально. без касания к кнопке "Пуск".
долго потом вспоминали этот случай)