基本的にこのようなマップがあります...
キー-------値
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);
};