Anredenbestimmung !!
-
ich würde den inhalt der datei auch davor in ne klasse bzw in nen struct packen...
so in etwa:#include <string> struct person { private: const std::string Anrede, Name; public: const string GetAnrede (void) const; //usw person (const std::string &name, const std::string anrede/*...*/) : Anrede (anrede), Name (name) {}; //... }#include <vector> #include <iterator> vector <*person> Personen; typedef vector <*person>::const_iterator cit_p; //constanter iterator von personen string eingabe; cin >> eingabe; string anrede; for (cit_p (Personen.begin ()); cit_p != Personen.end (); ++cit_p) { if (eingabe == (*cit_p)->GetName ()) anrede = (*cit_p)->GetAnrede (); }alternativ kannst du die schleife auch in ne fkt des structs / der klasse hauen...
Zumindest würde ich es so machen - aber hat paar Nachteile, das noch ma zu puffern:
- wenn die Datei iwann sehr groß wird hast du ja alles doppelt (klasse und datei)
- wenn das Programm ständig laufen soll und ohne neustart änderungen der datei übernehmen soll (könnte man auch über nen einlesen aller x minuten machen - aber naja... siehe 1. ^^)alternativ könnte man auch mysql nehmen und die angaben in ne mysql packen oder du schreibst direkt ne klasse, der du so was ähnliches beibringst - aber auch das hat nachteile - wenn du sie geöffnet lässt (damit du sie ne jedes ma wieder öffnen und schließen musst), dann gibt es wahrscheinlich probleme, wenn du sie parallel ändern willst (weiß ich gar nicht genau, aber wär eigtl nicht unlogisch... ^^) oder du musst sie eben doch bei jeder "Query" wieder öffnen und schließen - was jedoch bei vielen Eingaben auch doof ist - musst du selbst wissen...
ich hoffe, dass das mehr hilfreich als irreführend war...
bb
//edit:
'- wenn die Datei iwann sehr groß wird hast du ja alles doppelt (klasse und datei)'logischerweise hast du immer alles doppelt - was auch kein prob ist, wenn die datei nur 10 zeilen oder so hat... aber iwann wirds dann doch doof ^^
-
ja klar, nur wen ich mich nicht auskenne, wie soll ich da mein Problem genau schildern, Quellcode hab ich keinen vorliegen, weil ich kein Plan habe wie ich am besten Anfangen soll
flanders
-
Flanders86 schrieb:
ja klar, nur wen ich mich nicht auskenne, wie soll ich da mein Problem genau schildern, Quellcode hab ich keinen vorliegen, weil ich kein Plan habe wie ich am besten Anfangen soll.
Setze einfach den Algorithmus aus deinem ersten Beitrag Punkt für Punkt in Code um. Und wenn du das bei einem Punkt nicht schaffst, dann sagst du "Ich kann Punkt X.Y.Z nicht umsetzen", und zeigst, was du zu den Punkten davor hinbekommen hast. So schwierig kann das doch nicht sein.
Und wenn du mit diesem Programm generell überfordert bist, dann such dir doch bitte eine einfachere Problemstellung. Da du anscheinend ja nicht mal einen Kommentar erkennst, wäre das eine oder andere Grundlagentutorial angebracht.
-
pumuckl schrieb:
Zeig uns (mit Code, deine numerierte Liste ist ganz sicher kein C++ code) wie weit du bist, und wo deine Probleme beim naechsten Schritt sind. Wir werden dir dann helfen die Probleme zu loesen damit du allein weiter voran kommst. Nur so kannst dus wirklich lernen.
hat er doch schon in dem Vorgänger-Thread gemacht.
unskilled schrieb:
ich würde den inhalt der datei auch davor in ne klasse bzw in nen struct packen...
.. liest Dein keiner die Antworten der anderen?
Werner Salomon schrieb:
Flanders86 schrieb:
Hat da niemand zufällig ne Musterlösung, ...
Die Musterlösung hast Du ja bereits in diesem Beitrag bekommen, ...
(folge dem Link)
Werner
-
ja nur den versteh ich leider net
-
Hallo
Du scheinst auch nicht sinnverstenhend Lesen zu können.
chrische
-
chrische5 schrieb:
Hallo
Du scheinst auch nicht sinnverstenhend Lesen zu können.
chrische
Wie oft soll ichs den noch sagen^^
-
was hast du eigentlich für erfahrungen im c++ bereich?
ich mein, keine scherzfrage:
würdest du ein Hello World Programm auf die Reihe bringen?
-
@werner:
huch... joar - ich hatte die seite in etwa ne stunde auf und hab ne noch ma aktualisiert, bevor ich geschrieben hab, weil ich gerad in nem anderen tab vertieft war - sry ^^
mal davon abgesehen, dass ich auch danach nich gefunden habe, wer etwas ähnliches geschrieben hat, hab ich mitbekommen, dass er das wohl erst recht ne nachvollziehen kann...
@flanders:
naja - warum postest du in nem forum, wenn du alle lösungen bzw lösungsansätze jedes mal einfach nur mit den worten "versteh ich nicht" oder "ich blicks gar nimmer" abtust? der rest dazu wurde glaube scho gesagt...bb
-
Flanders86 schrieb:
chrische5 schrieb:
Hallo
Du scheinst auch nicht sinnverstenhend Lesen zu können.
chrische
Wie oft soll ichs den noch sagen^^
Manche Leute haben das Zeug zum Programmieren und manche nicht, du hast es offensichtlich nicht. Finde dich damit ab.
-
Flanders86 schrieb:
ja nur den versteh ich leider net
das hattest Du ja bereits mehrfach erwähnt - ich komme noch mal auf mein Angebot aus diesem Thread zurück:
Werner Salomon schrieb:
Jetzt nenne uns doch mal bei jeder Zeile, ob Du das kapierst oder nicht - also etwa so
1.-4. ok
5. unklar - was ist unklar?
6. ok
// usw.Na wie isses?
-
Ich programmier seit 3 Monaten in der Berufsschule, hab keinen schimmer von der Programmierung, ich bin grad mal dabei Grundlagen zu lernen um erst mal einen Einblick zu bekommenn, was Programmierung eigentlich ist, und dann ist es natürlich schwer mit Klassen,Strukturen und solchen Beispiel-Quelltexten zu arbeiten
von dem her hättest dir dein Kommentar sparen können @logged off
-
Hallo
Na dann such' dir doch erstmal einfachere Aufgaben.
chrische
-
chrische5 schrieb:
Hallo
Na dann such' dir doch erstmal einfachere Aufgaben.
chrische
mein Chef meint das es machbar ist, mit Hilfe aus irgendwelchen Tutorials etc..
-
Hallo
ES ist auch machbar. Du musst nur anfangen udn erstmal zeigen, was du bisher selber geschrieben hast udn vor allem konkrete Fragen stellen. Ich schreibe es dir, wie gesagt, auch.
chrische
-
Ich habe mich bemüht so einfahc zu programmieren, wie es geht:
#include <iostream> #include <fstream> #include <string> int main() { std::ifstream datei("datei.txt"); if (!datei.good()) { std::cerr << "Konnte die Datei nicht oeffnen!" << std::endl; return 1; } std::cout << "Name eingeben: "; std::string eingegebenerName; std::cin >> eingegebenerName; bool gefunden = false; std::string id, geschlecht, name; while (!datei.eof()) { /* Dies ist ein Kommentar! Die Datei "datei.txt" hat folgenden Aufbau(Beispiel): ID Geschlecht Name */ datei >> id >> geschlecht >> name; if (name == eingegebenerName) { gefunden = true; break; } } if (gefunden) { if (geschlecht == "w") { std::cout << "Frau "; } else if (geschlecht == "m") { std::cout << "Herr "; } else { std::cerr << "Geschlecht " << geschlecht << " unbekannt! Programm wird beendet..." << std::endl; return 1; } std::cout << name << std::endl; } else { std::cout << eingegebenerName << " konnte nicht gefunden werden" << std::endl; } datei.close(); return 0; }Und wenn du es jetzt immer noch nicht hinbekommst...
-
asdasd schrieb:
Ich habe mich bemüht so einfahc zu programmieren, wie es geht:
#include <iostream> #include <fstream> #include <string> int main() { std::ifstream datei("datei.txt"); if (!datei.good()) { std::cerr << "Konnte die Datei nicht oeffnen!" << std::endl; return 1; } std::cout << "Name eingeben: "; std::string eingegebenerName; std::cin >> eingegebenerName; bool gefunden = false; std::string id, geschlecht, name; while (!datei.eof()) { /* Dies ist ein Kommentar! Die Datei "datei.txt" hat folgenden Aufbau(Beispiel): ID Geschlecht Name */ datei >> id >> geschlecht >> name; if (name == eingegebenerName) { gefunden = true; break; } } if (gefunden) { if (geschlecht == "w") { std::cout << "Frau "; } else if (geschlecht == "m") { std::cout << "Herr "; } else { std::cerr << "Geschlecht " << geschlecht << " unbekannt! Programm wird beendet..." << std::endl; return 1; } std::cout << name << std::endl; } else { std::cout << eingegebenerName << " konnte nicht gefunden werden" << std::endl; } datei.close(); return 0; }Und wenn du es jetzt immer noch nicht hinbekommst...
Perfekt... etz hab ichs verstanden, wirklich klasse zu verstehen.
Vielen Dank für die bemühnungen ...
-
Flanders86 schrieb:
Perfekt... etz hab ichs verstanden, wirklich klasse zu verstehen.
Vielen Dank für die bemühnungen ...
der war gut

-
Gut, dass du in den Code noch das "Feature" eingebaut hast, der wird sich wundern, wenn er das dem Chef einfach so vorlegt

-
*lol* Der Thread ist ein einziger großer Witz...
greetz, Swordfish