我如何编写此代码才能接受 "space" 作为地址的一部分?
how can i write this code so that it will accept "space" as a part of address?
我在这里写了一段代码,用于将地址作为用户输入,但是当用户在地址之间输入“space”时,编译器将下一个单词作为下一个输入。我该如何编写它才能将“space”作为地址的一部分。
note:i 必须仅使用构造函数和复制构造函数来执行此操作
#include<iostream>
#include<string.h>
using namespace std;
class address{
string add;
public:
address(){
cout << "Enter your current address"<<endl;
cin >> add;
}
address(const address &ad1){
add=ad1.add ;
cout << "Permanent add: "<<add;
}
};
int main(){
char c;
string add2;
address ad1;
cout << "Is your permanent address same as current address? y for yes" <<endl;
cin >> c;
if(c=='y'||c=='Y')
{
address ad2=ad1;
}
else{
cout << "Enter your permanent address"<<endl;
cin >> add2;
}
}
您应该改用 std::getline
。
即替换
address() {
cout << "Enter your current address"<<endl;
cin >> add;
}
和
address() {
cout << "Enter your current address" << endl;
getline(cin, add);
}
如果需要,然后在您想要获取新地址时执行相同的操作。
我在这里写了一段代码,用于将地址作为用户输入,但是当用户在地址之间输入“space”时,编译器将下一个单词作为下一个输入。我该如何编写它才能将“space”作为地址的一部分。 note:i 必须仅使用构造函数和复制构造函数来执行此操作
#include<iostream>
#include<string.h>
using namespace std;
class address{
string add;
public:
address(){
cout << "Enter your current address"<<endl;
cin >> add;
}
address(const address &ad1){
add=ad1.add ;
cout << "Permanent add: "<<add;
}
};
int main(){
char c;
string add2;
address ad1;
cout << "Is your permanent address same as current address? y for yes" <<endl;
cin >> c;
if(c=='y'||c=='Y')
{
address ad2=ad1;
}
else{
cout << "Enter your permanent address"<<endl;
cin >> add2;
}
}
您应该改用 std::getline
。
即替换
address() {
cout << "Enter your current address"<<endl;
cin >> add;
}
和
address() {
cout << "Enter your current address" << endl;
getline(cin, add);
}
如果需要,然后在您想要获取新地址时执行相同的操作。