-1

我刚开始学习 C++,这个测试似乎是一个好主意,所以我试着去做,似乎没有用,而且它真的没有意义(对我来说)。

#include <iostream>

using namespace std;

int myNum = 5;               // Integer (whole number without decimals)
double myFloatNum = 5.32543;    // Floating point number (with decimals)
char myLetter = 'H';         // Character
string myText = "test text: test";     // String (text)
bool myBoolean = true;            // Boolean (true or false)

int main() {

    cout << myNum << endl;
    cin >> myNum >> endl;

    cout << myFloatNum << endl;
    cin >> myFloatNum >> endl;

    cout << myLetter << endl;
    cin >> myLetter >> endl;

    cout << myText << endl;
    cin >> myText >> endl;

    cout << myBoolean << endl;
    cin >> myBoolean >> endl;

    return 0;

}
4

2 回答 2

3

你忘了include <string>,字符串不是基本的 C++ 数据类型;在 iostream 之后使用#include <string>,在大于和小于符号之后没有空格。

于 2019-12-14T18:09:51.817 回答
1

cin东西放进去是没有意义的endlcin是一个从中获取数据的流,但endl正如@arsdever 评论的那样,这是一个结束行的事情。

只需删除它,您的代码就会编译:

#include <iostream>
#include <string>    // You forgot to include that header, for using std::string
using namespace std;

int myNum = 5;
double myFloatNum = 5.32543;
char myLetter = 'H';
string myText = "test text: test";
bool myBoolean = true;

int main() {

    cout << myNum << endl;
    cin >> myNum;

    cout << myFloatNum << endl;
    cin >> myFloatNum;

    cout << myLetter << endl;
    cin >> myLetter;

    cout << myText << endl;
    cin >> myText;

    cout << myBoolean << endl;
    cin >> myBoolean;

    return 0;
}

虽然,您可能希望先阅读用户的输入,然后再打印。现在,您打印由您预定义的变量值(然后打印行尾),然后从用户那里读取该特定变量的输入。

于 2019-12-14T18:13:46.940 回答