Suchfunktion im C/C++

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Suchfunktion im C/C++

    Hey leute ich brauch ne Suchfunktion für c oder c++
    undzwar habe ich einen sortier algorithmus verwendet um eine liste von namen Alphabetisch zu sortieren und nun muss ich die zu dem gehörenden Namen noch andere Werte aus einem struct finden um diese halt mit auszugeben.

    Zur Besseren verständniss:
    Es geht um ein Adressbuch in dem man über einen struct Name Vorname PLZ Wohnort Str. Tel. Email Geb. eintragen kann, jetzt soll eine zusätzliche sortierfunktion eingebaut sein und ich komme ja eigentlich ohne die Arraynumer nicht an die anderen daten eines Attributs.

    Wenn jemand eine Lösung weiß oder nen gedanken Anstoß geben kann wäre ich sehr dankbar weil das wurmt mich sehr das das nich geht :twisted:
  • Quellcode

    1. struct myStruct
    2. {
    3. char vorname[100];
    4. char tel[100];
    5. char name[100];
    6. char ort[100];
    7. int nr;
    8. char email[100];
    9. int plz;
    10. char geb[100];
    11. char str[100];
    12. };
    Alles anzeigen


    das sind die variablen die ich eingeben können muss

    Quellcode

    1. void sorte(int argc, char** argv, int eintrag)
    2. {
    3. int counter = 0;
    4. std::string sEingabe = "";
    5. std::vector< std::string > vecNames;
    6. do
    7. {
    8. ++counter;
    9. vecNames.push_back( test[counter].name);
    10. } while ( counter < eintrag );
    11. sort( vecNames.begin(), vecNames.end() );
    12. vector< std::string >::const_iterator iter ( vecNames.begin() );
    13. vector< std::string >::const_iterator iterEnd ( vecNames.end() );
    14. while( iter != iterEnd )
    15. {
    16. std::cout << *iter<< std::endl;
    17. ++iter;
    18. getch();
    19. }
    Alles anzeigen


    so lasse ich das ganze nach namen sortieren.

    Einzelne Einträge aus myStruct
    kann ich ja eigentlich nur über test[counter]. ausgeben lassen oder?
    Wenn ich das alles hab sortieren lassen sind die Namen sortiert aber ich kann nur die Namen ausgeben nicht den rest aus myStruct
  • Moin,

    immerhin hast Du mein Beispiel schon mal gefunden. Aber offensichlich
    hast Du nicht alles verstanden.

    Jetzt mal ohne Beispiel.

    Steck deine Struktur in den Vektor, dann sind deine Daten zusammen.
    Anschließend schreibt man ein Prädikat oder in deiner Struktur
    einen Operator

    bool operator() ( const mystruct& s1, const mystruct& s2 ) const;

    und füllt den noch mit Leben.

    Dann bist Du schon fertig.