Cout of a string is giving an error and a hard time some insight help pls?

前端 未结 3 536
南笙
南笙 2021-01-27 14:36

I cant find the error in this piece of code could anyone please insight me? I ran the debugging but the errors are un-understandable..

#include \"stdafx.h\"
#in         


        
相关标签:
3条回答
  • 2021-01-27 15:14

    Should be

    if (name == "Bart Simpson")
    {
        cout << "You have been very naughty" << endl;
    }
    

    And you need to include <string>

    0 讨论(0)
  • 2021-01-27 15:18

    I assume the bracket in the wrong place is just a problem when pasting the code

    if(name == "Bart Simpson")

    name will never equal "Bart Simpson", since extracting a string stops when it encounters whitespace; so it would only be "Bart". Perhaps you want to use getline() instead?

    0 讨论(0)
  • 2021-01-27 15:22

    Problems:

    1. You have some missing #includes, which probably caused your initial compiler errors.
    2. You have a simple syntax error with your if statement.
    3. Using the stream extraction operator will never yield a string with whitespace inside of it.

    The following should work as you expect:

    #include "stdafx.h"
    #include <iostream>
    #include <ostream>
    #include <string>
    
    using namespace std;
    
    int main()
    {
        cout << "Input your name please?" << endl;
    
        string name;
        getline(cin, name);
        if (name == "Bart Simpson")
        {
            cout << "You have been very naughty" << endl;
        }
    
        return 0;
    }
    

    (You need to include string for std::string and std::getline, and ostream for std::endl.)

    0 讨论(0)
提交回复
热议问题