1
0

yesno.cpp 936 B

12345678910111213141516171819202122232425262728293031
  1. #include "testlib.h"
  2. const string YES = "YES";
  3. const string NO = "NO";
  4. std::string upper(std::string s)
  5. {
  6. for (size_t i = 0; i < s.length(); i++)
  7. if ('a' <= s[i] && s[i] <= 'z')
  8. s[i] = s[i] - 'a' + 'A';
  9. return s;
  10. }
  11. int main(int argc, char * argv[])
  12. {
  13. setName(YES + " or " + NO + " (case insensetive)");
  14. registerTestlibCmd(argc, argv);
  15. std::string ja = upper(ans.readWord());
  16. std::string pa = upper(ouf.readWord());
  17. quitif(ja != YES && ja != NO, _fail, "%s or %s expected in answer, but %s found",
  18. YES.c_str(), NO.c_str(), __testlib_part(ja).c_str());
  19. quitif(pa != YES && pa != NO, _pe, "%s or %s expected, but %s found",
  20. YES.c_str(), NO.c_str(), __testlib_part(ja).c_str());
  21. quitif(ja != pa, _wa, "expected %s, found %s", __testlib_part(ja).c_str(), __testlib_part(pa).c_str());
  22. quitf(_ok, "answer is %s", ja.c_str());
  23. }