如何从输入中获取特定字符?

how to get a specific character from input?

我做了一个关于 getchar 的教程: getChar - c++ tutorial

这一切都有效,直到我想做一些修改。

char c;
puts("enter . to exit");
do{
    c=getchar();

} while (c != '.'); {

    if(c == 's'){
        upgradeOne();
        cout << "upgrade1 is done" << endl;
}

    if (c == 'a'){
        upgradeTwo();
        cout << "upgrade2 is done" << endl;
    }
}

while (total < 999){
    total += i;
    cout << total << endl;
}

我想在用户输入等于特定字符时使用特定方法。 如果用户键入 a,则必须激活 upgradetwo() 方法。 我该怎么做?

输入的重复处理发生在 do...while 循环中。仅当按下 '.' 时才保留循环。

如果你想对特定的字符做出反应,你必须将你的 if(c==...) 语句移动到这个循环中(即在 getchar()while 之间)。

如果您想 运行 循环直到用户输入句点 (.),那么您可以使用一些 bool 标志,该标志最初将设置为 true。然后写一会儿 运行 直到标志为假。在 while 中读取字符,如果它是一个句点,则将标志设置为 false。

或者您可以 运行 while 无限循环并在 char 是句点时中断循环,否则继续。