我做了一个关于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()。 我该怎么做?
答案 0 :(得分:0)
输入的重复处理发生在do...while
循环中。只有在按下'.'
时才会保留循环。
如果您想对特定字符做出反应,则必须将if(c==...)
语句移到此循环中(即getchar()
和while
之间)。
答案 1 :(得分:0)
如果要在用户输入句点(。)之前运行循环,则可以使用一些bool标志,该标志最初将设置为true。然后写一个将运行的标志,直到标志为假。在读取字符时,如果是句点,则将标志设置为false。
或者你可以无限地运行while循环,如果char是一个句点,那么就打破循环。