Prolog-bitte um (schnelle) Hilfe!

britta84

Cadet
Mitglied seit
06.12.2005
Beiträge
8
Renomée
0
Standort
Hiltown (unfreiwillig, nur für's Studium)
Moinsen,

sitze gerade an nem Projekt und komm nich weiter....es soll ein "benutzerfreundliches" Musikauswahlprogramm werden, wenn es nix Geeignetes findet, kommt aber -logisch- immer ein 'no'. Kann man das irgendwie unterdrücken und stattdessen was einfügen wie 'Es wurde nichts Passendes gefunden.' ? Und wenn ja, wie??

Achja, und dann habe ich noch von einem "Experten" den Tipp bekommen, einen String als Konstante zu nehmen, damit ich mir die Hochkommata sparen kann....wie kann man denn sowas einbauen?

Also falls jemand auch nur zu einem der Punkte was anzubieten hat, wäre ich sehr dankbar!!:)
 
Emmmm... wie wäre es, wenn du uns erstmal erzählst, welche Programmiersprache du benutzt. Desweiteren wäre interessant zu wissen, bei was für einer routine das -no- ausgegeben wird und vielleicht würde auch ein wenig vom Quelltext helfen. <- Alle natürlich nur unverbindlich...;D
 
Äh ja, Programmiersprache ist- wie im Betreff- Prolog;D
Also, wie gesagt soll es ein Musikauswahlprogramm werden, bei dem über 1,2 oder 3 Kriterien ein kompletter Datensatz (Musikstück) gefunden wird. Wenn nix Passendes da ist, soll aber kein 'no' kommen, sondern ein höflicher Satz ,wie 'Es wurde leider nichts gefunden' :) .
Leider funktioniert bisher nur die Suche über 3 Kriterien, eigentlich sollte die Suche nach einem passenden Fund abgebrochen werden, aber im Moment läuft die ganze Prozedur immer bis zum Ende durch:(
Help, anyone? please!!*noahnung*

%%%Quellcode

%Auszüge aus der Datenbak
musik(['Rock','Smells Like Teen Spirit','Kurt Kobain','Nirvana','1991']).
musik(['Rock','In Bloom','Kurt Kobain','Nirvana','1997']).

%Suche nach drei Kriterien
musiksuche3 :-
write('Bitte geben Sie eine Eigenschaft in Hochkommata ein und beenden Sie
die Eingabe mit einem Punkt.'),nl,
read(ErstesMerkmal),
write('Bitte geben Sie eine zweite Eigenschaft ein und beenden Sie die Eingabe
mit einem Punkt.'),nl,
read(ZweitesMerkmal),
write('Bitte geben Sie eine dritte Eigenschaft in Hochkommata ein und beenden Sie die Eingabe mit einem Punkt.'),nl,
read(DrittesMerkmal),
musik(Beschreibung),
element(ErstesMerkmal,Beschreibung),
element(ZweitesMerkmal,Beschreibung),
element(DrittesMerkmal,Beschreibung),
[Musikrichtung,Titel,Komponist,Interpret,Aufnahmejahr]=Beschreibung,
write('Musikrichtung:'),write(Musikrichtung),nl,
write('Titel:'),write(Titel),nl,
write('Komponist:'),write(Komponist),nl,
write('Interpret:'),write(Interpret),nl,
write('Aufnahmejahr:'),write(Aufnahmejahr),nl,
nl,fail.
 
Müsste das nicht irgendwie über nen Cut gehen? Kann aber sein, dass er dann auch ein No ausspuckt.
 
Zurück
Oben Unten