(最新整理)校園十大優(yōu)秀青年評比_第1頁
(最新整理)校園十大優(yōu)秀青年評比_第2頁
(最新整理)校園十大優(yōu)秀青年評比_第3頁
(最新整理)校園十大優(yōu)秀青年評比_第4頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、(完整)校園十大優(yōu)秀青年評比(完整)校園十大優(yōu)秀青年評比 編輯整理:尊敬的讀者朋友們:這里是精品文檔編輯中心,本文檔內(nèi)容是由我和我的同事精心編輯整理后發(fā)布的,發(fā)布之前我們對文中內(nèi)容進(jìn)行仔細(xì)校對,但是難免會(huì)有疏漏的地方,但是任然希望((完整)校園十大優(yōu)秀青年評比)的內(nèi)容能夠給您的工作和學(xué)習(xí)帶來便利。同時(shí)也真誠的希望收到您的建議和反饋,這將是我們進(jìn)步的源泉,前進(jìn)的動(dòng)力。本文可編輯可修改,如果覺得對您有幫助請收藏以便隨時(shí)查閱,最后祝您生活愉快 業(yè)績進(jìn)步,以下為(完整)校園十大優(yōu)秀青年評比的全部內(nèi)容。實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)課名稱:數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)實(shí)驗(yàn)名稱:校園十大優(yōu)秀青年評比班級(jí):20130613學(xué)號(hào):16姓名:施

2、洋時(shí)間:2015-525一、問題描述新一屆校園十大青年評比開始了!每一位在校學(xué)生可通過網(wǎng)上評比系統(tǒng),為自己認(rèn)為優(yōu)秀的學(xué)生提名與投票.請開發(fā)一個(gè)用于該需求的系統(tǒng),滿足下列基本功能:(1)提名優(yōu)秀學(xué)生與投票。(2)查看提名學(xué)生的基本信息。(3)顯示各提名學(xué)生的票數(shù).(4)顯示排行榜.基本要求:(1)采用散列存儲(chǔ),存放提名學(xué)生的相關(guān)信息。(2)設(shè)計(jì)哈希函數(shù)和沖突解決方法。(3)提名學(xué)生至少包括以下信息:姓名、票數(shù)、個(gè)人基本信息(如:班級(jí)、專業(yè)、年級(jí)、突出事跡等)。(4)設(shè)計(jì)輸入提名學(xué)生信息的界面.(5)完成基本功能。(6)界面友好,操作簡單。(7)設(shè)計(jì)足夠多的測試用例.(8)查看指定學(xué)生的票數(shù)。二、

3、數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)1)用哈希表存儲(chǔ)提名學(xué)生相關(guān)信息。每位選手即學(xué)生的基本信息含有多個(gè)屬性,為此可根據(jù)學(xué)生信息建立結(jié)構(gòu)體,如下:struct studentchar name40;/姓名的拼音+學(xué)號(hào)int number;/票數(shù)int class;/班級(jí)char major50;/專業(yè)char grade10;/年級(jí)char honour100;/突出事跡;(2)設(shè)計(jì)哈希函數(shù),并用開放定址線性探測法處理沖突。(3)設(shè)計(jì)一個(gè)投票系統(tǒng)類:votesystemclass votesystemprivate:student *stu;int count;/當(dāng)前元素個(gè)數(shù)int sizeindex;/哈希表長pub

4、lic:votesystem() stu=null;count=0;sizeindex=0;votesystem() delete stu;count=0;void inithashtable(int n);/初始化哈希表int hash(char *name);/哈希函數(shù)void collision(int s)s=s+;/開放定址線性探測法處理沖突int search(char name,int&k);/查找void insert(charname);/插入int vote(char*name);/投票void display();/顯示哈希表void showvote(int k); /

5、按哈希表下標(biāo)顯示票數(shù)void showrank();/顯示排行榜;三、算法設(shè)計(jì)votesystem成員函數(shù)詳細(xì)設(shè)計(jì):(1)哈希函數(shù)hash根據(jù)實(shí)現(xiàn)要點(diǎn)提示設(shè)計(jì)哈希函數(shù)int votesystem:hash(char name)/哈希函數(shù)char *p=name;int key=0;while(*p)key+=int(*p);p+;return keysizeindex;(2)查找函數(shù)search step1:對指定的選手調(diào)用哈希函數(shù)求值 step2:用開放定址線性探測法處理沖突,在哈希表中查找k=hash(name);/哈希函數(shù)定位while(0!=0&strcmp(stuk

6、。name,name) collision(k);/處理沖突step3:若找到返回1;否則返回0if(!strcmp(,name)) return 1;/找到else return 0;(3)插入函數(shù)insert step1:調(diào)用查找函數(shù)search,找到插入信息的位置 step2:按照提名學(xué)生信息示例格式輸入學(xué)生的信息void votesystem::insert(char name)int s;char a2;search(name,s);cout”提名學(xué)生信息格式如下:n”t班級(jí):2n”t專業(yè):軟件工程n”t年級(jí):二n” ”t突出事跡:全國三好學(xué)生n;strcpy(st

7、,name);coutstus.class;cout”專業(yè):t;cin.getline(a,2);cin。getline(stus.major,50);cout年級(jí):t”;cin.getline(stus。grade,10);cout”突出事跡:t;cin。getline(stus.honour,100);step3:提名即為投一票,同時(shí)當(dāng)前元素個(gè)數(shù)加1stus.number=1;/提名即為投一票count+;/當(dāng)前人數(shù)加1(4)投票函數(shù)votestep1:記錄已存在時(shí)調(diào)用search函數(shù)int votesystem::vote(charname) int s;int f;f=s

8、earch(name,s);/定位if(f) stus.number+;return 1;/投票成功else return 0;/投票失敗step2:記錄不存在時(shí),轉(zhuǎn)到提名或返回cout無此記錄!n;cout” 1、提名該學(xué)生n” 2、返回n”t;if(t=1) l。insert(name);cout提名成功n;(5)顯示哈希表函數(shù)display 從表頭開始,若表中記錄已存在,則輸出該學(xué)生的基本信息:姓名,票數(shù),專業(yè),年級(jí),班級(jí),突出事跡;否則轉(zhuǎn)到下一個(gè)。void votesystem::display()for(int i=0;isizeindex;i+)if(0!=0)c

9、 stui.number票” stui。major stui.grade stui.class”班 stui。honourtendl;(6)顯示排行榜函數(shù)showrankstep1:定義一個(gè)數(shù)組a11,存儲(chǔ)前十名在哈希表中的下標(biāo),并初始化數(shù)組 step2:從哈希表表頭開始依次訪問,記錄存在時(shí)即轉(zhuǎn)到step3 step3:利用插入法對進(jìn)行記錄進(jìn)行排序 step4:將哈希表下標(biāo)保存到數(shù)組a中int a11;/定義一個(gè)數(shù)組存放前十名在哈希表中的下標(biāo)for(int i=0;i=0;k-)/利用插入法進(jìn)行排序if(ak-1) if(stuak。numberstui。number)ak+1=ak;else break; ak+1=i;step5:根據(jù)數(shù)組a中排序結(jié)果,順序輸出前十名選手的姓名,票數(shù)for(i=0;i10ai-1;i+)/對前十名輸出 tstuai.numberendl;四、界面設(shè)計(jì)*1、選手信息 2、選手得票數(shù) 3、投票 4、排行榜 5、退出系統(tǒng) * 5、 運(yùn)行測試與分析(1)對記錄不存在的學(xué)生進(jìn)行投票,即提名過程依此模式對記錄不存在的學(xué)生進(jìn)行提名,具體信息如圖(3)所示(2)對記錄已存在的選手進(jìn)行投票(3)顯示選手信息(

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論