Я новичок в C ++ и в любом случае делаю простую текстовую RPG. Сценарий таков: у меня есть экран приветствия с вариантами 1-3, и у меня есть простой оператор IF для их проверки, здесь:
int choice;
std::cout << "--> ";
std::cin >> choice;
if(choice == 1) {
//..
Это отлично работает, но если кто-то введет букву в качестве выделения (вместо 1, 2 или 3), оно станет "-392493492" или что-то в этом роде и завершит работу программы. Итак, я придумал:
char choice;
std::cout << "--> ";
std::cin >> choice;
if(choice == 1) {
//..
Это работает нормально, но когда я ввожу число, оно, кажется, полностью пропускает операторы IF. Символ "1" совпадает с числом 1?
Я получаю ошибку компилятора с этим (ISO-CPP или что-то):
if(choice == "1")
Так как же я вижу, правильно ли они ввели 1-3??