2014-02-23 36 views
-2

我想再次嘗試從我最後一個問題得到的指導。希望這次我做到這一點。我真的希望這個問題不要太廣泛,如果是的話,我表示歉意。數組列表,linesearch和bubblesort。作業C++

如何用「字符串名稱」和「整數時間」創建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一起工作?

這是線搜索代碼:(它是在INT爲主,所以我還不如在這裏添加它隨意dissregard它。)

int linesearch(Person p[], int n, int a) 
{ 
    for (int i = 0; i < 10; i++) 
     if (person[i].person age == key) 
      return i; 
}; 
+0

如果你解釋什麼和不怎麼起作用(或者至少構建一個人們可以複製粘貼並自己嘗試的最小示例),我會提供幫助。 – jrok

+0

_'What我做錯了嗎?'_有什麼問題?請告訴我們! –

+0

我的代碼有什麼問題嗎?我是否已經完成了課程,並將繼續與bubblesort和linesearch合作?對不起,我會添加更多的帖子。謝謝你告訴我。 – Nyp0ns0pp0saurus

回答

1

您指定的成員函數作爲SetInfo但主要你在呼叫中將其命名爲setinfo

此外,您忘了將右括號放在類定義中。線搜索具有

功能被定義爲

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); 
}; 

,並呼籲在主,例如

int index = linearsearch(mylist, 4, 23); 

同樣,在此功能的代碼名稱沒有在函數調用和功能coinside定義。

Funcion SetInfo有,如果你使用字符串文字作爲參數被聲明爲

void SetInfo(const char* _name, int _age); 

至於bubblesort,我什麼都不能說,因爲你沒有顯示它的定義和它的使用。

而且你可以在程序的所有地方標識名字?!!!

+0

我想我可能能夠設法泡泡。儘管最終我希望這個能夠在年齡之後首先對列表進行排序,然後寫出來並要求一個搜索關鍵字。可能會像地獄一樣簡單,但注意到我並不擅長這一點。 – Nyp0ns0pp0saurus

+0

@ Nyp0ns0pp0saurus在函數調用int index = linearsearch(mylist,4,23); 4意味着數組mylist的大小 –

+0

你應該將'a'參數重命名爲'key',因爲它不能以這種形式工作**編輯修正** – Rad1