-2

我在这里做了一些搜索,但我没有找到我正在寻找的解决方案。如果它在那里,我提前道歉。我是科罗拉多技术大学的学生,正在学习 C++ 入门,之前在 C++ 方面的编程经验为零。

我正在尝试构建一个应该显示文本的程序。Visual Studio 不断出现构建错误。查看构建说明后,我确定错误在于尝试将文本分配给变量。这是我到目前为止所拥有的:

char my_name;
char my_major;
int my_zip;
char my_address;
char my_phone;
char my_city_state;

cin >> "What is your name? " >> my_name;
cin >> "What is your street address, without city, state & ZIP? " >> my_street;
cin >> "What is the City and state that you live in? " >> my_city_state;
cin >> "What is the ZIP code? " >> my_zip;
cin >> "What is your phone number? " >> my_phone;
cin >> "What is your major? " >> my_major;

我曾尝试直接分配,如下所示:

my_name="C++ User";

但是在这里查看其他常见问题解答时,我意识到这是不可能的。

我如何能够像最初希望的那样直接分配,或者允许分配输入?

注意:基本代码行取自 RAPTOR 输出,我已经能够让它与它一起工作,只是在 Visual Studio 中没有。

提前感谢您的帮助,如果有答案,我很抱歉,但经过 15 分钟的查找,我无法在这里找到它。

4

2 回答 2

4

my_name是一个单一的char,而你试图分配给它的是一个字符串文字(即一个s数组char)。

我建议std::string在这里使用。例如:

#include <string> // Header required for std::string

// ...

std::string my_name = "C++ User";

此外,您不应该operator >>在右侧使用字符串文字。而不是这样做:

cin >> "What is your name? " >> my_name;

你应该这样做:

std::cout << "What is your name? "; // Print a message to the standard output
std::cin >> my_name; // Read a string from the standard input
于 2013-04-17T19:28:38.277 回答
1

您应该使用 std::string 从用户获取字符串输入,使用 std::cout 显示用户消息,使用 std::cin 获取用户输入。

像这样的东西你也需要#include

std::string name;

std::cout<<"What is your name "<<std::endl;
std::cin >> name;
于 2013-04-17T20:01:44.527 回答