我是一名c ++初学者,我很好奇为什么这不起作用:
#include <iostream>
using namespace std;
int main ()
{
int firstname;
int lastname;
cout << "My name is " << firstname << lastname;
cin >> firstname >> lastname;
cout << endl;
return 0;
}
我希望输出只是用户输入他们的名字和姓氏的地方,结果如下:
实施例: 我的名字是John Doe。
答案 0 :(得分:9)
#include <string>
...
string firstname;
string lastname;
int
值包含数字。要存储名称,请使用string
s。
cin >> firstname >> lastname;
cout << "My name is " << firstname << " " << lastname;
然后确保在打印之前阅读这些名称。应该交换cin
和cout
。我还在两个变量之间的打印输出中添加了一个空格(" "
)。
答案 1 :(得分:1)
#include <iostream>
#include <string> // so you can use string
using namespace std;
int main() {
string first;
string last;
cin >> first;
cin >> last; // getting input from using and storing it in last
cout << "My name is " << first << last << endl; // printing out "My name is and " and what you wrote for first and last
return 0;
}
答案 2 :(得分:0)
cout << "My name is ";
cin >> firstname >> lastname;
cout << firstname << " " << lastname;
这应该输出一行:
我的名字是John Doe
另外,字符串存储在string
类型中,而不是int
类型
所以你必须include <string>
,并将int
更改为string
答案 3 :(得分:0)
名称可以是int
类型,将其更改为std::string
以下是修改后的代码将根据需要生成输出。
#include <iostream>
int main ()
{
std::string firstname;
std::string lastname;
std::cin >> firstname >> lastname;
std::cout << "My name is " << firstname<<" " << lastname<<"\n";
return 0;
}
请注意,如果您的名字和姓氏之间有空格,则必须在打印时添加" "
。
如果您的字符串也包含空格,请尝试使用'getline(cin,str);
进行输入。
我建议您在编写代码时不要使用标准命名空间,即using namespace std;
。有关详细信息,请查看下面提供的链接
答案 4 :(得分:0)
首先,我会尝试提示用户输入他们的名字和姓氏。或者他们怎么知道要进入什么?并且使用int类型根本没有帮助,因为用户将输入字符串而不是整数。试试这个......
#include <iostream>
using namespace std;
int main() {
cout << "Pleas enter your first and last name." << endl;
string name;
cin >> name;
cout << "Hello " << name << endl;
return 0;
}
答案 5 :(得分:0)
确保用户知道要输入的内容(名字和姓氏),否则他们将不知道输入什么。这是您可以使用的输出代码:
import os
import csv
# Save the IPs you want to ping inside YOURFILE.csv
# Then iterate over the CSV rows using a For Loop
# Ensure your ip addresses are under a column titled ip_address
with open('YOURFILE.csv', newline='') as csvfile:
reader = csv.DictReader(csvfile)
for row in reader:
rep = os.system("ping " + row['ip_address'] + " -c 3")
所以完整的代码应该是这样的:
cout << "Please enter your first and last name." << endl;
答案 6 :(得分:0)
你在做
int firstname;
int lastname;
表示要获取整数值,但是需要一个字符串。因此,根据您的情况,将int
替换为std::string
或string
。另外,请记住使用#include <string>
来获得string
功能。完成此操作后,您应该能够输入和返回字母。 :D
#include <iostream>
#include <string>
using namespace std;
int main ()
{
string firstname;
string lastname;
cout << "My name is " << firstname << lastname;
cin >> firstname >> lastname;
cout << endl;
return 0;
}
我可能会补充说,您通常不应该使用using namespace std;
,因为它被认为是不好的做法,也没有必要,您可以键入std::...
。如果不想每次都键入using namespace std
名称,则使用namespace
,但是通常最好区分要使用相同名称但在不同namspace中使用的函数类型。并也使用'\n'
作为新行,而不是endl
。这是因为endl
比\n
花费更多的时间。
答案 7 :(得分:-1)
如果您是初学者,我建议在您的代码中也包含命名空间。在像打印字符串这样的简单情况下,如果您正在学习包含 std::string
、std::cin
和 std::cout
,这是一种更好的做法。在这种情况下,::
只是意味着从其命名空间(左值)中获取关键字(右值)。