diff --git a/exercises/ex3.cpp b/exercises/ex3.cpp index 025d77c8..9f12955e 100644 --- a/exercises/ex3.cpp +++ b/exercises/ex3.cpp @@ -1,43 +1,27 @@ /* Could you still use a switch case here? May you can use a map. */ #include +#include using namespace std; int main() { string textInput; + map famDes = { + {"BarackObama", "44th president of the United States"}, + {"SandroPertini", "Former President of the Italian Republic"}, + {"NelsonMandela", "Former President of South Africa"}, + {"MahatmaGandhi", "Bapu"}, + {"DonaldKnuth", "Creator of LaTeX"}, + {"DennisRitchie", "Creator of C"}}; + cout << "Enter a famous name+surname, ex. BarackObama " << endl; cin >> textInput; - if (textInput == "BarackObama") - { - cout << "44th president of the United States" << endl; - } - else if (textInput == "SandroPertini") - { - cout << "Former President of the Italian Republic" << endl; - } - else if (textInput == "NelsonMandela") - { - cout << "Former President of South Africa" << endl; - } - else if (textInput == "MahatmaGandhi") - { - cout << "Bapu" << endl; - } - else if (textInput == "DonaldKnuth") - { - cout << "Creator of LaTeX" << endl; - } - else if (textInput == "DennisRitchie") - { - cout << "Creator of C" << endl; - } - else - { - cout << "Invalid input! Please enter a good name!" << endl; - } + auto temp = famDes.find(textInput); + if(temp != famDes.end()) cout << famDes[textInput]; + else cout << "Invalid input! Please enter a good name!" << endl; return 0; } \ No newline at end of file