Ausdrucken von Elementen der Liste in Prolog
Ich habe eine Liste, X, enthält drei Elemente; ID, Name und Klasse. Alle Benutzereingaben werden
read_student_info([A, B, C]),
nl, nl, menu([[A, B, C] | X]).
read_student_info([A, B, C]) :-
write('\tStudent ID: '),
read(A),
write('\tStudent Name: '),
read(B),
write('\tStudent Grade: '),
read(C).
Nun, ich möchte die Anzeige der Elemente in der Liste aus. Also wenn ich einen Studenten mit der ID = 3, Name = Tom, Note = 78. Das ist, was möchte ich ausdrucken. Die aktuelle Funktion habe ich schon rumgemacht, ist diese:
show_records(X) :-
X = [A | B],
A = [C | D],
id = write(C),
name = format("~s", [B]),
grade = write(D),
show_records(B).
Aber ich werde die erste zugeben, ich habe fast keine Ahnung, was ich mache. Jede Hilfe wäre sehr geschätzt werden!
InformationsquelleAutor mrwigglesworth | 2015-04-28
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
rate nur einen Weg zur Bereinigung:
test:
klar, die tabs sind nicht optimal, aber einfach zu bedienen
InformationsquelleAutor CapelliC
Habe ich es herausgefunden, meistens jedenfalls. Hier ist meine überarbeitung.
=/2
: wenn stattX = [A | B]
schreiben SieX = [[C, E, G | _] | B]
und loszuwerden, die andere explizit die einigkeit, Ihr Programm wird eine Menge mehr lesbar. Und übrigens, wenn IhrH
ist[ ]
, das ist die Unterliste hat nur 3 Elemente, dann sollten Sie schreibenX = [[C, E, G ] | B]
.InformationsquelleAutor mrwigglesworth