为c ++字典

时间:2018-04-01 14:49:38

标签: c++ function dictionary

我正在开发一个c ++字典,我制作了一个搜索单词的函数图。

程序提示用户选择"搜索单词"或者"添加一个新单词"。

问题: 我创建了一个函数映射,如果用户选择搜索一个单词,它将被调用,但程序似乎没有调用该函数。

我是map的新手并且在今天之前没有使用它,一些帮助会很棒。

#include <iostream>
#include <map>
using namespace std; 
//map of function to search for word
map <string, int> search_word(map<string, int> &word_bank, int val)
{
    string word;
    cout<<"Search word: "<<endl;
    cin>>word;

    if(word_bank.find(word) != word_bank.end())
    cout<<word<<endl;
    else if (word_bank.find(word) == word_bank.end())
    cout<<"word not found";
}

int main()
{
    int choice;
    map <string, int> word_bank;
    word_bank["diingati"] = 0;
    word_bank["diperbuat"] = 1;
    word_bank["keibuan"] = 2;
    word_bank["kepercayaan"] = 3;
    word_bank["menggunakan"] = 4;
    word_bank["mempergunakan"] = 5;


    cout<<"***"<<" Welcome to C++ Malay Dictionary "<<"***"<<endl<<endl;
    cout<<"Do you want to search for a word or enter a new word? "<<endl<<endl;
    cout<<"Search : 1"<<endl<<"Enter new word: 2"<<endl<<endl;
    cin>>choice;

    if (choice == 1)
    map <string, int> search_word; //calling the function


    else
    cout<<"Please enter a number: ";
    cin>>choice;

}

1 个答案:

答案 0 :(得分:0)

 map <string, int> search_word; //calling the function

评论错误。这不会调用该函数;它声明了一个名为search_word std::map<std::string, int>的变量。

旁白:

  • 将警告调高至最大值 - 您应该收到search_word实际上没有返回任何内容的警告。您还会收到一条警告,指出您声明的名为search_word的变量未使用。

  • 想想你想要search_word实际返回的内容 - 地图似乎并不是非常有用。 bool或甚至void会更好。

  • 搜索并阅读Eric Lippert发布​​的名为&#34;如何调试小程序&#34;。