arraylist,linesearch和bubble sort。作业C ++

时间:2014-02-23 15:13:26

标签: c++ arrays

我正在尝试从我上一个问题得到的指导。希望我这次能做到这一点。我真的希望这个问题不要广泛,如果是的话,我道歉。

如何使用“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;
};

1 个答案:

答案 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,我什么都不说,因为你既没有显示它的定义也没有显示它的使用。

你能在节目的所有地方同心地输入名字吗?!!!