我这个程序哪有问题?为什么报错?

来源:百度知道 编辑:UC知道 时间:2024/06/28 22:52:35
#include <iostream>
#include <string>
using namespace std;
struct person
{ string name;
int count;
};
int main()
{ person leader[3]={"li",0,"fd",0,"cc",0};
string nameleader;
int i,j;
for(i=0;i<10;i++)
{
cin>>nameleader;
for(j=0;j<3;j++)
if(nameleader==leader[j].name) leader[j].count++;
}
cout<<leader[1].name<<" "<<leader[1].count<<endl;
cout<<leader[2].name<<" "<<leader[2].count<<endl;
cout<<leader[3].name<<" "<<leader[3].count<<endl;
return(0);
}

结构体变量数组不能这样赋值的,改了就好了:
#include <iostream>
#include <string>
using namespace std;
struct person
{ string name;
int count;
};
int main()
{
person leader[3]; //={"li",0,"fd",0,"cc",0};
leader[0].name="li";
leader[0].count=0;
leader[1].name="fd";
leader[1].count=0;
leader[2].name="cc";
leader[2].count=0;

string nameleader;
int i,j;
for(i=0;i<10;i++)
{
cin>>nameleader;
for(j=0;j<3;j++)
if(nameleader==leader[j].name) leader[j].count++;
}
cout<<leader[1].name<<" "<<leader[1].count<<endl;
cout<<leader[2].name<<" "<<leader[2].count<<endl;
cout<<leader[3].name<<" "<<leader[3].count<<endl;
return(0);
}

person leader[3] 这个变量可以那么赋值么?