Archivierung und Abruf BITTE um Hilfe
-
Ok,
aber ich möchte später, wenn ich die Datei öffne auch selbst sehen ob es Name oder Nomen ist, und dann die jeweilige Definition. Deshalb fand ich es für angebracht sie unter verschiedenen Verzeichnissen zu speichern!
Und Groß- und Kleinschreibung ist für den Überblick gedacht, dass wenn ich das Wort an sich eingebe, der PC nicht denkt, dass es schon definiert ist, obwohl es drin steht. Es dient meiner Übersicht.Trotzdessen weiss ich leider noch nicht, wie ich mein Problem lösen kann:
Gebe Wort/Satz ein, es wird geprüft ob es vorhanden UND definiert ist. Falls nicht, muss es getan werden. Wenn ich dann ein Wort eingebe und es da ist, möchte ich dessen Definition ausgegeben kriegen.
-
Ich habe dein Problem nicht einmal verstanden.

Vielleicht erklärst du mal genau, was du erreichen möchtest.- Woran erkennt man, dass ein Wort bekannt ist?
- Woran erkennt man, dass ein Wort definiert ist?
- Wie passen die übrigen Variablen da rein (Gespräch, Kunde, Alles, etc. )
-
Also, das beispiel, was ich oben schrieb ist enorm gekürzt. Das Orginal x-fach so groß, aber darum geht es nicht.
Was ich gerne machen würde:ich gebe einen Begriff ein. Geht
Es wird überprüft ob das Wort schon vorhanden ist. Geht
Wenn ja wird überprüft ob eine dazugehörige Definition vorhanden ist. Geht nicht
Falls das Wort nicht vorhanden ist, soll gefragt werden ob Nomen oder Namen, dann soll nach einer Definition gefragt werden. Geht
Diese Wörter sollen unter der Gruppe Nomen oder Namen, was halt definitert wurde, gespeichert werden.Dann soll, wenn ich ein Wort eingebe die dazugehörige Definition ausgegeben werden. Geht nicht

Die Variabeln sind nur dazu da, damit ich einen übersichtlichenEinblick habe.
Und das alles zusammenzuhängen klappt nicht! Deshalb wär super freundlich für Hilfe,
danke im Vorraus
-
Du bist ja hier bei C++.
Wenn dein Quelltext x-mal so groß ist, hast du schon mal an Container gedacht
Vermute nicht, da du so auf goto stehst.
Du beschreibst dein Programm so als wolltest du ein Lexikon erstellen.
Der Quelltext sieht eher nach einem Sammelautomaten für eine Kundendatei aus.
Schon einen Plan, wenn sich mehrere Karl Mayer oder Sepp Müller melden

-
Wie sähe das mit nem Container denn aus?
std::find, std::search?
Aber wie krieg ich die Verknüpfung der Worte hin, also der Nomen/Name PLUS Definition, und dass beides gesucht wird? Und er ausgibt? Also wenn ich ein Nomen/Namen eingebe, er mir die Definition ausgibt?
-
Es gibt den einfach assoziativen Container
std::map. Du musst jeweils für den Schlüssel und den Wert einen Typ angeben, bei dir sollte das in beiden Fällen einstd::stringsein, alsostd::map<std::string, std::string>. Benutzbar ist das dann so:#include <map> #include <string> #include <iostream> int main() { std::map<std::string, std::string> MyDict; MyDict["Name"] = "Definition von Name"; // oder MyDict.insert( std::make_pair( "Nomen", "Definition von Nomen" ) ); // hässlich, hab aber kein C++11 std::map<std::string, std::string>::const_iterator i = MyDict.find( "Name" ); if( i != MyDict.end() ) { std::cout << "Definition von " << i->first << ": " << i->second << std::endl; } else { std::cout << i->first << " ist nicht definiert." << std::endl; } }Das Suchen funktioniert natürlich nur nach Schlüsseln, wenn du nach weiteren Kriterien suchen willst musst du dir wohl was eigenes basteln (siehe boost::multi_index_container).
Wenn du andere Zuordnungen brauchst (Name -> irgendwas) musst du natürlich den Wertetyp entsprechend ändern.
-
Sieht sehr gut aus, danke. Nur schaffe ich es irgendwie nicht die Daten abzuspeichern. Was muss ich daran ändern um abzuspeichern?
-
Vielleicht solltest du erst ein Mal das hier lesen...
-
DocShoe schrieb:
Vielleicht solltest du erst ein Mal das hier lesen...
Das wurde ihm bereits 8x verlinkt. Aber irgendwie schafft er es trotzdem noch, irgendwie Leute zu finden, die ihm helfen.
-
Ich hab nun ne eigene Möglichkeit, Wörter abzurufen:
Meine Frage dazu wäre:#include <iostream> #include <fstream> #include <sstream> using namespace std; int main() { ifstream fin("example.txt"); string line; while (getline(fin, line)) { istringstream tokenizer(line); string token; getline(tokenizer, token, ','); cout << token << endl; getline(tokenizer, token, ','); istringstream int_iss(token); cout << token << endl; }Wenn ich das Programm ausführe zeigt er mir den kompletten Inhalt an. Ich möchte es aber nur auf eine Zeile beschränken, dass er mir nicht den kompletten Inhalt anzeigt, sondern nur die eine Zeile, nach der ich suchte.
Wie kriege ich das genau hin?
Danke im Vorraus
-
boah, gtfo pls
-
Was heißt
gtfo pls????
Ich habe nur diese einzige Frage:
Ich hab nun ne eigene Möglichkeit, Wörter abzurufen:
Meine Frage dazu wäre:#include <iostream> #include <fstream> #include <sstream> using namespace std; int main() { ifstream fin("example.txt"); string line; while (getline(fin, line)) { istringstream tokenizer(line); string token; getline(tokenizer, token, ','); cout << token << endl; getline(tokenizer, token, ','); istringstream int_iss(token); cout << token << endl; }Wenn ich das Programm ausführe zeigt er mir den kompletten Inhalt an. Ich möchte es aber nur auf eine Zeile beschränken, dass er mir nicht den kompletten Inhalt anzeigt, sondern nur die eine Zeile, nach der ich suchte.
Wie kriege ich das genau hin?
Danke im v******
-
get the fu.ck out, soweit helfe ich dir noch...
edit:
please