0

我有一张基本上看起来像这样的地图......

核心价值

1132--------姓名、艺术家、尺寸、添加日期

1133--------名称2,艺术家2,尺寸2,添加日期2

1134--------名称3,艺术家3,尺寸3,添加日期3

我想编写一个 find() 函数,该函数接受两个参数,特别是按(名称或艺术家)的搜索字符串,然后是特定值,例如歌曲部分的实际名称或艺术家的名字或姓氏。搜索是针对指定数据成员中目标的任何出现。它还需要不区分大小写和标点符号。如果成功,则返回地图的值。如果不成功,则返回“未找到”。对编写此功能有任何帮助吗?

到目前为止,这是我的代码...

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