0

基本的にこのようなマップがあります...

キー-------値

1132-------名前、アーティスト、サイズ、追加日

1133-------Name2、Artist2、Size2、Date_Added2

1134-------Name3、Artist3、Size3、Date_Added3

具体的には(名前またはアーティスト)による検索文字列と、曲の一部の実際の名前またはアーティストの姓または名などの特定の値を2つのパラメーターで受け取るfind()関数を作成したいと思います。検索は、指定されたデータ メンバー内のターゲットの出現に対して行われます。大文字と小文字および句読点も INSENSITIVE である必要があります。成功すると、マップの値が返されます。失敗した場合は、「見つかりません」が返されます。この関数を作成する際の支援はありますか?

これまでの私のコードは次のとおりです...

MusicEntry MusicLibrary::find(string &search_str, string &value){
     for(elements:search_str){
       elements += tolower(elements);        
    }
    if(elements == "name" || elements == "artist"){

    }
}

私の functions.h で

struct MusicEntry{
    string name, artist, date_added;
    long size;

    MusicEntry() = default;
    MusicEntry(string name_str, string artist_str, long size_int, string date_added_str) : 
        name(name_str), artist(artist_str), size(size_int), date_added(date_added_str) {};
    string to_string();
};

struct MusicLibrary{
    map <long, MusicEntry> Music_Map;

    MusicLibrary(string file_name);
    string to_string();
    void insert(MusicEntry Entry);
    MusicEntry find(string &search_str, string &value);

};
4

0 に答える 0