如何从输入中获取特定字符?
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 是句点时中断循环,否则继续。
我做了一个关于 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 是句点时中断循环,否则继续。