Advertisement
Guest User

Untitled

a guest
May 28th, 2015
236
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.36 KB | None | 0 0
  1. :-dynamic(person/2).
  2. :- initialization(once(((main ; true), halt))).
  3.  
  4. addUser :- write('Please enter the following details. End each expression with a .\nname: '), read(X), write('number: '), read(Y), assertz(person(X,Y)).
  5.  
  6. getNumber :- write('Enter the name of the person you want to know the number of :\n'),read(X),person(X,Y),write(Y),nl,fail.
  7. getNumber.
  8. changeNumber :- write('Name of person: \n'),read(X),person(X,Y),write('Number: '),write(Y),write('\nEnter new number: '),read(Z),retract(person(X,Y)),assertz(person(X,Z)).
  9. deletePerson :- write('Name of the person: \n'),read(X),person(X,Y),write('Delete person: '),write(X),write(' with number: '),write(Y),write('?\n'),read(Q),(Q='y';Q='yes'),retract(person(X,Y)).
  10.  
  11. list :- person(X,Y), write('person: '), write(X), write(' nr: '), write(Y), write('\n'), fail.
  12. list.
  13.  
  14. exit :- tell('database.pl'), write(':- dynamic(person/2).\n'), person(X,Y), write('person('), write(X), write(','), write(Y), write(').\n'), fail.
  15. exit :- told, tell(user).
  16.  
  17. load :- consult('database.pl').
  18.  
  19. main :- load, menu.
  20.  
  21. menu :- write('\n 1: Add User\n 2: Get Number\n 3: Change Number\n 4: Delete Person\n 5: List All Entries\n 6: Save & Exit\n Choose: '), nl, read(X), menu(X).
  22. menu(1) :- addUser, menu.
  23. menu(2) :- getNumber, menu.
  24. menu(3) :- changeNumber, menu.
  25. menu(4) :- deletePerson, menu.
  26. menu(5) :- list, menu.
  27. menu(6) :- exit.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement