C++ 为什么在满足if语句后,else语句仍在打印?

C++ 为什么在满足if语句后,else语句仍在打印?,c++,if-statement,C++,If Statement,抱歉,我是stackoverflow新手,但我在编码时遇到问题。我创造了这个简单的 但我注意到,在使用if语句之后,它仍然打印else语句。代码是用C++编写的,您的帮助是深感感谢的。p> # include <iostream> using namespace std; int main() { char check; bool done = false; while(not done) { cout<<"Please

抱歉,我是stackoverflow新手,但我在编码时遇到问题。我创造了这个简单的 但我注意到,在使用if语句之后,它仍然打印else语句。代码是用C++编写的,您的帮助是深感感谢的。p>
# include <iostream>
using namespace std;

int main()
{
    char check;
    bool done = false;
    while(not done)
    {
        cout<<"Please enter one of the options provided below."<<endl;
        cout<<"D = distance S = second F = first"<<endl;
        cin>>check;
        if(check == 'D')
        {
            cout<<"You pressed D"<<endl;
        }
        if(check == 'S')
        {
            cout<<"You pressed S"<<endl;
        }
        if(check == 'F')
        {
            cout<<"You pressed F"<<endl;
        }
        else
            cout<<"You suck!";
    }
    return 0;
}
#包括
使用名称空间std;
int main()
{
字符检查;
bool done=false;
虽然(未完成)
{

cout我很确定你想要的是
else if
(即嵌套)而不是(后续的)
if
s,但这只是一个猜测,因为你没有提供输入或输出。

不太常见,我认为仅仅发布准确的代码是最好的教育方式,但在这种情况下,我认为差异会跳到你身上:

   if(check == 'D')
    {
        cout<<"You pressed D"<<endl;
    }
    else if(check == 'S')
    {
        cout<<"You pressed S"<<endl;
    }
    else if(check == 'F')
    {
        cout<<"You pressed F"<<endl;
    }
    else
        cout<<"You suck!";
if(检查=='D')
{

coutIt总是告诉你除非按F键否则你很烂。或者你期待其他什么吗?:)这是因为
else
属于最后一个
if
。啊,谢谢!我自动假设if语句是针对所有if语句的,而不仅仅是最后一个。:D我花了大量时间试图找出一个d该站点在几秒钟内回答了它!使用单个
开关
语句,而不是一系列
if-else
语句。