如何在 c++ 中为对象数组输入字符串

How to input strings for array of objects in c++?

本文关键字:对象 数组 输入 字符串 c++      更新时间:2023-10-16

//班级学生作为两个数据成员,姓名和卷号。在 main 函数中,for 循环用于逐个获取每个对象的数据成员值,然后显示名称和卷号。每个对象。在执行此程序时,它仅采用第一个对象的名称,并跳过第二个对象名称并直接滚动编号。对于第二个对象,编译器会询问。

包括

 using namespace std;
 class student
 {
    string name;
    int roll;
    public:
     void getdata();
    void display();
 };
 void student::getdata()
 {
    cout<<"Enter teh name";
    getline(cin,name);
    cout<<"Enter the roll no";
     cin>>roll; 
 }
 void student::display()
 {
    cout<<name<<"  "<<roll;
    cout<<"n";
 }
 int main()
 {
    student s[2];
    for(int i=0;i<2;i++)
    {
        s[i].getdata();
        
     }
    for(int j=0;j<2;j++)
    {
        s[j].display();
    }
 
 return 0;
 
 }

第二个对象在执行程序时没有采用字符串名称

在 cin>> 卷之后

add cin.ignore();

将 getdata(( 写为

void student::getdata()
{
cout<<"Enter teh name";
getline(cin,name);
cout<<"Enter the roll no";
cin>>roll; 
cin.ignore();
}
cin>>roll;
getchar();

当您为滚动提供输入时,滚动由roll变量存储。您按下的输入由name变量存储并被跳过。在为滚动输入后使用 getchar() 获取该enter