Tree family在prolog中不能正常工作



我试图运行一个prolog程序,代表一个树,但当我从菜单中选择选项1显示我false。

代码:

https://github.com/carson314/Prolog/blob/master/menus.pl

你的代码有两个问题:

opciones(X):-
(
    (X = 1) ->
    escribe("Escriba el nombre de la persona cuyo padre es que se encuentran:"),nl,
    read(X),
    escribe("Padre "),
    escribe(X),
    escribe(" es:"),nl,
    father(Z,X),
    escribe(Z),nl,
    pausa;

当您调用opciones(1)时,X绑定到1,并且由于read(X)不将X绑定到用户输入,但检查是否用户输入等于1。这是第一个问题。第二个问题是read/1读取一个原子,而escribe/1需要列表或字符代码。您可以使用atom_codes/2来处理它

最新更新