#include #include #include #include #include #include class Word_List { public: Word_List(); bool is_adjective(std::string const& word) const; bool is_noun(std::string const& word) const; bool is_verb(std::string const& word) const; private: std::map> list; }; Word_List::Word_List() : list{} { std::ifstream ifs{"ORD.TXT"}; if ( ! ifs ) { throw std::logic_error{"ORD.TXT kunde inte öppnas"}; } std::string word; std::string word_class; while ( ifs >> word >> word_class ) { list[word].insert(word_class); } } bool Word_List::is_adjective(std::string const& word) const { return list.at(word).count("adjektiv") != 0; } bool Word_List::is_noun(std::string const& word) const { return list.at(word).count("substantiv") != 0; } bool Word_List::is_verb(std::string const& word) const { return list.at(word).count("verb") != 0; } using namespace std; int main() { string word; cout << "Mata in ett ord: " << endl; cin >> word; Word_List wl; if ( wl.is_adjective(word) ) cout << word << " är ett adjektiv" << endl; if ( wl.is_verb(word) ) cout << word << " är ett verb" << endl; if ( wl.is_noun(word) ) cout << word << " är ett substantiv" << endl; return 0; }