如題,本人剛開始學C++,有很多不足之處,有個大作業,很棘手。一下是題目要求,希望高手們幫忙解答一二,萬分感謝~!
投票規則如下:
1. 每個投票者只可以投一次票. 投票者通過生成的亂數 在第一個到最后一個候選人之間選擇一個候選人來進行投票.
2. 每一個候選人都保存著投票者給他們投票的記錄
3. 選舉之后, 擁有最高投票數的候選人當選.
程式設計:
第一部分:
1. 設計一個Person類包含下列資訊
1.1. 欄位:
_name: 包含這個人的名字. Name can be as long as required.
_age: 這個人的年齡
_salary: 這個人的薪水 (一個實數)
_id: 這個人的id. 一個人的id不能通過任何函式來有意無意的改變(current or future). It is assigned by the program at creation time它是由(程式)創建時指定的 and 并且在創建紀錄時進行排序. 也就是說, 第一個人的id是1; 第二個人的id是2 等等.
_totalPersons: 一個static變數來保存著總人數
1.2. 函式:
建構式Person(name,age,salary)
修改函式來改變年齡: SetAge(newAge);
修改函式來改變薪水:
SetSalary(newSalary);
一個列印函式, 將列印出這個人的名字和id (例如,, <<Person)
2. 設計一個Voter類 將從Person類繼承 并且有下面資訊
2.1. 欄位:
_polingStation: the number of the poling station that the voter needs to go and register
_totalNumVoters: a static variable that contains the total number of voters that each candidate has.
2.2. 函式:
建構式Voter(name, age, salary, polingStation)
a modifier to change the poling station: SetPolingStation(newPolingStation);
Print() 函式將列印投票者的名字和polling station id.
overloaded operator ==: the operator returns true if the two voters have the same ID.
一個static函式 Voters(): that returns the number of voters assigned to all candidates
函式 Person& SelectCadidate( PersonSet& candidates ) : 隨機選擇一個候選人
3. 設計一個類Candidate,將從Person類繼承,并且有如下資訊:
3.1. 欄位(變數):
_voterSet: 這個voterSet包含了所有投票者所投的候選人(這句話可能反了). 這個set不應該有尺寸限制. 使用你第一次作業所實作的PersonSet的容器來完成.
_numCandidates: a static variable that contains the total number of candidates which are still in the race for the leadership
/////////////////////////////////一個static變數,包含了仍在競爭領導的候選者人數.
3.2. 函式:
建構式 Candidate(name, age, salary)
一個函式回傳候選人所獲得的投票數: int GetVotesNum() 回傳投票數
AddVoter( Voter& aVoter ) 添加一個投票者到候選人
Overload <<: 列印所有給這個候選人投票的投票人的姓名. 如果沒有投票者, 這個函式會輸出“There are no voters !!!!”
GetAverageVotersAge(): 列印給這個候選人投票的投票者的平均年齡
GetAverageVotersSalary(): 列印給這個候選人投票的投票者的平均薪水
operator overload < (例如, candidateA < candidateB): 這個運算子 標志著如果candidateA 輸給了B. 這個是根據了獲取的每個候選人的投票人數.
一個static函式 Candidates(): 回傳仍然在正競爭的候選人總數;
高手們能不能展示一個完整的專案,或者一些重要的片段代碼也可以,本人將感激不盡。
uj5u.com熱心網友回復:
這個難度不會很大,你仔細找下C++的書,慢慢看下面向物件設計,應該很快就會搞定的。心態平穩的看書,這個就很快能搞定。
uj5u.com熱心網友回復:
我是剛接觸學習,時間也就一個月。很多基礎性的知識點還沒掌握理解透徹,就接觸這樣的作業真的有天啃天書的感覺。無奈時間有限,所以才來這里請求幫助,如果我也和各位一樣一直接觸應用相信在我眼里這個作業難度也不會大的。還是很感謝你~~uj5u.com熱心網友回復:
慢慢做就會了,別人直接給你代碼,你永遠也學不會。uj5u.com熱心網友回復:
頂!
uj5u.com熱心網友回復:
我勸你不要學C++了...不懂就從ABC學起,不會做就學會做..你這水平,給你源程式量你也看不懂..轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/156809.html
標籤:基礎類
