005
20.05.2007, 03:09 Uhr
0xdeadbeef
Gott (Operator)
|
C++: |
#include <cctype> #include <iostream> #include <map> #include <sstream> #include <string>
typedef std::pair<std::string, int> problem_t;
template<typename t> t read_type(std::string const &prompt) { t result; std::istringstream isstr; std::string line;
do { std::cout << prompt << std::flush;
std::getline(std::cin, line);
isstr.clear(); isstr.str(line); isstr >> result; } while(!isstr);
return result; }
int main() { std::map<char, problem_t> problems; std::map<char, problem_t>::const_iterator iter;
problems['l'] = problem_t("10 / 2 + 3" , 8); problems['m'] = problem_t("11 * (318 - 11)" , 3377); problems['s'] = problem_t("4 * 15 + 3 * 10 + 7 - 18 + 20", 104);
std::cout << "Hallo,\n" "Dieses Programm wurde speziell für Sie geschrieben.\n" "\tSchwierigkeitsstufe:\n" "\t[L]eicht\n" "\t[M]ittel\n" "\t[S]chwer\n";
do { iter = problems.find(std::tolower(read_type<char>("Auswahl: "))); } while(iter == problems.end());
std::cout << "Aufgabe: " << iter->second.first << std::endl; std::cout << (read_type<int>("Lösung: ") == iter->second.second ? "Korrekt!" : "Falsch!") << std::endl; }
|
...damit hats dann auch gleich Bogus-Eingaben abgefangen. -- Einfachheit ist Voraussetzung für Zuverlässigkeit. -- Edsger Wybe Dijkstra Dieser Post wurde am 20.05.2007 um 03:23 Uhr von 0xdeadbeef editiert. |