入力をインタラクティブに受け入れる述語を設計して、空のクラスリストを持つ新しい生徒記録を作成する必要があります。また、studentIDがデータベースにないことを確認して、学生がまだシステムにいないことを確認する必要があります。入力を受け入れてプロローグに格納する方法
これは
% name, studentId, course list
student(name(jane, [ann]), 5555, ['CS3230']).
出力はここ
?- addStudent.
Student last name: doe.
Student first name: [jim,k].
Student Id: 23123.
true.
このようにする必要があり、学生のデータベースは、私がERROR取得しています私のコード
addStudent :- write('Student last name: '),
read(L),
write('Student first name: '),
read(F),
write('Student ID: '),
read(ID),
assertz(student(name([L,F])),ID,_),
not(member(ID,student)).
です:追加/ 3:不定プロシージャ:入力を読み込んだ後にassertz(生徒IDを尋ねた後) どうすればこの問題を解決できますかコード?あなたの述語addStudentで
「assertz/3」と言うエラーは、「assertz」だけではありません。問題は、assertz/1に3つの引数を与えて、ただ1つの引数しか期待できないことです。私はちょうどあなたの括弧を正しく適用していないと思う。 'assertz(student(name([L、F])、ID、_))'を試してください。 – lurker