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

时间:2016-02-08 12:59:32

标签: c++ visual-c++ char getchar

我做了一个关于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;
}

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

2 个答案:

答案 0 :(得分:0)

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

如果您想对特定字符做出反应,则必须将if(c==...)语句移到此循环中(即getchar()while之间)。

答案 1 :(得分:0)

如果要在用户输入句点(。)之前运行循环,则可以使用一些bool标志,该标志最初将设置为true。然后写一个将运行的标志,直到标志为假。在读取字符时,如果是句点,则将标志设置为false。

或者你可以无限地运行while循环,如果char是一个句点,那么就打破循环。