menu(X) :- write('\tClass roster management system'), nl, write('\t=============================='), nl, write('\t MENU'), nl, write('\t=============================='), nl, write('\t0. Option 0'), nl, write('\t1. Option 1'), nl, write('\t2. Exit'), nl, write('\tEnter your choice (followed by a \'.\'): '), read(Sel), process(Sel, X). process(0, X) :- nl, write('\tGot option 0 here, print roster(X)'),nl, write(X), nl, nl, menu(X). process(1, X) :- nl, write('\tGot option 1 here.'), read_student_info([A, B]), nl, nl, menu([[A,B] | X]). /* just add it to roster */ process(2, _) :- write('Good-bye'), nl, !. process(_, X) :- menu(X). read_student_info([A, B]) :- write('\tStudent ID: '), read(A), write('\tStudent Name: '), read(B).