Разработка информационно-справочной системы "Зарплата по НИР" — страница 9

  • Просмотров 3259
  • Скачиваний 176
  • Размер файла 20
    Кб

write(">"),readint(WHAT), WHAT>0,WHAT<4, removewindow, newbase(WHAT). /* процедура ввода новых данных */ process(7):- makewindow(2,2,7,"Ввод новых данных",0,0,25,80), write("Введите фамилию:"),readln(FIO), write("Введите имя:"),readln(NAME), write("Введите отчество:"),readln(OT), write("Введите название кафедры:"),readln(KAF), write("Введите зарплату по НИР:"),readint(NIR), write("Сколько выдали за I квартал:"),readint(K1), write("Сколько выдали за II квартал:"),readint(K2), write("Сколько выдали за

III квартал:"),readint(K3), write("Сколько выдали за IV квартал:"),readint(K4), TOTAL=K1+K2+K3+K4, OST=NIR-TOTAL, assertz(alex(FIO,NAME,OT,KAF,NIR,K1,K2,K3,K4,TOTAL,OST)), removewindow. /* Процедура коррекции данных */ process(1):- makewindow(2,7,2,"Коррекция данных",0,0,25,80), alex(FIO,NAME,OT,KAF,NIR,K1,K2,K3,K4,TOTAL,OST), clearwindow, write("Фамилия:",FIO),nl, write("Имя:",NAME),nl, write("Отчество:",OT),nl, write("Название кафедры:",KAF),nl, write("Зарплатa по НИР:",NIR),nl, write("Выдано за I квартал:",K1),nl, write("Выдано за II

квартал:",K2),nl, write("Выдано за III квартал:",K3),nl, write("Выдали за IV квартал:",K4),nl, write("Всего выдано:",TOTAL),nl, write("Остаток:",OST),nl,nl, attribute(4), write("Будете корректировать ? (1-да 0-нет) >"),attribute(7), readint(WHAT), WHAT=1, nl, write("Введите фамилию:"),readln(FIO1), write("Введите имя:"),readln(NAME1), write("Введите отчество:"),readln(OT1), write("Введите название кафедры:"),readln(KAF1), write("Введите зарплату по НИР:"),readint(NIR1), write("Сколько выдали за I

квартал:"),readint(K11), write("Сколько выдали за II квартал:"),readint(K21), write("Сколько выдали за III квартал:"),readint(K31), write("Сколько выдали за IV квартал:"),readint(K41), TOTAL1=K11+K21+K31+K41, OST1=NIR1-TOTAL1, retract(alex(FIO,NAME,OT,KAF,NIR,K1,K2,K3,K4,TOTAL,OST)), assertz(alex(FIO1,NAME1,OT1,KAF1,NIR1,K11,K21,K31,K41,TOTAL1,OST1)), clearwindow; WHAT=0,removewindow. /* Выход из программы */ process(8):- makewindow(2,7,2,"Выход",10,10,3,60), write("Вы уверены ? (1-да 0-нет) >"),readint(WHAT), WHAT=1,exit; WHAT=0,removewindow. /* процедура создания новой базы */ newbase(1):-

makewindow(3,7,2,"Создание базы по именам и кафедрам",10,5,4,67), retractall(_,alex1), alex(FIO,NAME,OT,KAF,NIR,K1,K2,K3,K4,TOTAL,OST), FIO1=FIO,NAME1=NAME,OT1=OT,KAF1=KAF, NIR1=0,K11=0,K21=0,K31=0,K41=0,TOTAL1=0,OST1=0, assertz(alex1(FIO1,NAME1,OT1,KAF1,NIR1,K11,K21,K31,K41,TOTAL1,OST1)), fail. newbase(1):- save("alex1.dat",alex1), write("База создана. Нажмите любую клавишу для просмотра созданной базы."), readchar(_), viewbase, removewindow,!. newbase(2):- makewindow(3,7,2,"Создание базы 'все о зарплате'",10,5,4,67), retractall(_,alex1), alex(FIO,NAME,OT,KAF,NIR,K1,K2,K3,K4,TOTAL,OST),

FIO1="",NAME1="",OT1="",KAF1="", NIR1=NIR,K11=K1,K21=K2,K31=K3,K41=K4,TOTAL1=TOTAL,OST1=OST, assertz(alex1(FIO1,NAME1,OT1,KAF1,NIR1,K11,K21,K31,K41,TOTAL1,OST1)), fail. newbase(2):- save("alex1.dat",alex1), write("База создана. Нажмите любую клавишу для просмотра созданной базы."), readchar(_), viewbase, removewindow,!. /* процедура просмотра созданной базы */ viewbase:- makewindow(4,2,7,"Просмотp созданной базы",0,0,25,80), write("------------------------------------------------------------"),nl, write(" ФИО | |Зарплата|выдано по кварталам| |"),nl,