我正在尝试从我上一个问题得到的指导。希望我这次能做到这一点。我真的希望这个问题不要广泛,如果是的话,我道歉。
如何使用“string name”和“int age”创建一个包含4个人(作为数组)的列表?我做错了什么?
class person
{
public:
string name;
int age;
void SetInfo(char* _name, int _age)
{
name = _name;
age = _age;
};
};
我做错了什么?
int main()//start of program
{
person mylist[4];//List of people
mylist[0].setinfo("Calle", 22)
mylist[1].setinfo("Calle", 23)
mylist[2].setinfo("Calle", 24)
mylist[3].setinfo("Calle", 25)
int index = Linearsearch(mylist, ...)
if (index == -1)
cout << "person not found!";
else
cout << "the person you searched for" << mylist[index].name << index;
cin.get();
return 0;
system("pause");
}
这会与linesearch和bubblesort一起使用吗?
这是linesearch的代码:(它在int main中,所以我不妨在这里添加它。随意忽略它)
int linesearch(Person p[], int n, int a)
{
for (int i = 0; i < 10; i++)
if (person[i].person age == key)
return i;
};
答案 0 :(得分:1)
您将成员函数命名为 SetInfo ,但在main中,您将其命名为 setinfo
您也忘记将右大括号放在类定义中。
函数linesearch必须定义为
int linesearch( const person p[], int n, int key)
{
int i = 0;
while ( i < n && p[i].age != key ) i++;
return ( i == n ? -1; i );
};
并在main中调用,例如
int index = linearsearch(mylist, 4, 23 );
再次在此函数的代码名称中,不要在函数调用和函数定义中使用。
Funcion SetInfo必须声明为
void SetInfo( const char* _name, int _age);
如果您使用字符串文字作为其参数。
至于bubblesort,我什么都不说,因为你既没有显示它的定义也没有显示它的使用。
你能在节目的所有地方同心地输入名字吗?!!!