1

C++ 新手在 cout 尝试输出文本时遇到奇怪错误。这是我的代码有问题的区域:

#include <iostream>
#include <string>
using namespace std;

int main()
{
    string courseName, courseNum;

cout << "Enter a four letter course name: ";
cin >> courseName >> endl;

cout << "Enter a three digit course number: ";
cin >> courseNum >> endl:

return 0;
}

错误出现在以下几行中:

cout << "Enter a four letter course name: ";

cout << "Enter a three digit course number: ";

这里有什么问题?

4

4 回答 4

0

尝试这个:

cout << "Enter a four letter course name: ";
cin >> courseName;

cout << "Enter a three digit course number: ";
cin >> courseNum;

代替

cin >> courseNum >> endl:

如果那不是错字,那么我怀疑您可能遇到了最令人烦恼的解析问题(尽管这是我的猜测)

于 2013-10-04T16:49:56.233 回答
0

只需删除>>endlcin >> courseName >> endl;cin >> courseNum >> endl;

当用户按 Enter 时,已经有一个换行符,因此您不需要显式添加新行。

于 2013-10-04T16:51:22.333 回答
0

根据 std::endl 文档

这是一个仅输出 I/O 操纵器,可以使用诸如out << std::endlfor any out of type 之类的表达式调用它std::basic_ostream

所以你应该使用:

cin >> courseName;
cout <<endl;(//make sure you really need it)
//same error on the other line
于 2013-10-04T16:52:03.107 回答
0

如下更改您的程序。endl 对 cin 无效

#include <iostream>
#include <string>

using namespace std;

int main()
{
    string courseName;
    string courseNum;

    cout << "Enter a four letter course name: ";
    cin >> courseName;

    cout << "Enter a three digit course number: ";
    cin >> courseNum;

    return 0;
}
于 2013-10-04T16:53:30.213 回答