版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、.c.c實驗報告實驗課名稱:數(shù)據(jù)結構實驗實驗名稱:校園十大優(yōu)秀青年評比班級:20130613學號:16:施洋時間:2015-5-25一、問題描述新一屆校園十大青年評比開始了!每一位在校學生可通過網(wǎng)上評比系統(tǒng),為自己認為優(yōu)秀的學生提名與投票。請開發(fā)一個用于該需求的系統(tǒng),滿足下列基本功能:提名優(yōu)秀學生與投票。查看提名學生的基本信息。顯示各提名學生的票數(shù)。顯示排行榜?;疽螅翰捎蒙⒘写鎯?,存放提名學生的相關信息。設計哈希函數(shù)和沖突解決方法。提名學生至少包括以下信息:、票數(shù)、個人基本信息(如:班級、專業(yè)、年級、突出事跡等)。設計輸入提名學生信息的界面。完成基本功能。界面友好,操作簡單。設計足夠多的測
2、試用例。查看指定學生的票數(shù)。二、數(shù)據(jù)結構設計1)用哈希表存儲提名學生相關信息。每位選手即學生的基本信息含有多個屬性,為此可根據(jù)學生信息建立結構體,如下:struetstudentcharname40;/的拼音+學號intnumber;/票數(shù)intClass;/班級charMajor50;/專業(yè)charGrade10;/年級charHonour100;/突出事跡;設計哈希函數(shù),并用開放定址線性探測法處理沖突。設計一個投票系統(tǒng)類:votesystemclassvotesystemprivate:student*stu;intcount;/當前元素個數(shù)intsizeindex;/哈希表長public
3、:votesystem()stu二NULL;count二0;sizeindex=0;votesystem()deletestu;count二0;voidInitHashTable(intn);/初始化哈希表intHash(char*name);/哈希函數(shù)voidcollision(int&s)s=s+;/開放定址線性探測法處理沖突intsearch(char*name,int&k);/查找voidinsert(char*name);/插入intvote(char*name);/投票voiddisplay。;/顯示哈希表voidshowvote(intk);/按哈希表下標顯示票數(shù)voidshow
4、rank();/顯示排行榜;三、算法設計votesystem成員函數(shù)詳細設計:哈希函數(shù)Hash根據(jù)實現(xiàn)要點提示設計哈希函數(shù)intvotesystem:Hash(char*name)哈希函數(shù)char*p=name;intkey=0;while(*p)key+=int(*p);p+;returnkey%sizeindex;查找函數(shù)searchStep1:對指定的選手調(diào)用哈希函數(shù)求值Step2:用開放定址線性探測法處理沖突,在哈希表中查找k=Hash(name);哈希函數(shù)定位while(O!=O&strcmp(,name)collision(k);/處理沖突Ste
5、p3:若找到返回1;否則返回0if(!strcmp(,name)return1;/找至Uelsereturn0;插入函數(shù)insertStepl:調(diào)用查找函數(shù)search,找到插入信息的位置Step2:按照提名學生信息示例格式輸入學生的信息voidvotesystem:insert(char*name)ints;chara2;search(name,s);cout提名學生信息格式如下:nt班級:2nt專業(yè):軟件工程nt年級:二nt突出事跡:全國三好學生n;strcpy(,name);coutstus.Class;cout專業(yè):t;cin.getline(a,2
6、);cin.getline(stus.Major,50);cout年級:t;cin.getline(stus.Grade,10);cout突出事跡:t;cin.getline(stus.Honour,100);Step3:提名即為投一票,同時當前元素個數(shù)加1stus.number=1;/提名即為投一票count+;/當前人數(shù)加1投票函數(shù)voteStepl:記錄已存在時調(diào)用search函數(shù)intvotesystem:vote(char*name)ints;intf;f=search(name,s);定位if(f)stus.number+;return1;/投票成功elsereturn0;/投票失
7、敗Step2:記錄不存在時,轉到提名或返回coutvv無此記錄!n;coutvv1、提名該學生n2、返回n請選擇操作:;intt;cint;if(t=1)L.insert(name);coutvv提名成功n;一顯示哈希表函數(shù)display從表頭開始,若表中記錄已存在,則輸出該學生的基本信息:,票數(shù),專業(yè),年級,班級,突出事跡;否則轉到下一個。voidvotesystem:display()for(inti=O;ivsizeindex;i+)if(0!=0)vvvvstui.numbervv票stui.Majorvvstui.Gradevvstui
8、.Classvv班vvstui.Honourvvtvvendl;顯示排彳丁榜函數(shù)showrankStepl:定義一個數(shù)組a11,存儲前十名在哈希表中的下標,并初始化數(shù)組Step2:從哈希表表頭開始依次訪問,記錄存在時即轉到Step3Step3:利用插入法對進行記錄進行排序Step4:將哈希表下標保存到數(shù)組a中intall;定義一個數(shù)組存放前十名在哈希表中的下標for(inti=0;i=0;k-)利用插入法進行排序if(ak-1)if(stuak.numbervstui.number)ak+1=ak;elsebreak;ak+1=i;Step5:根據(jù)數(shù)組a中排序結果,順序輸出前十名選手的,票數(shù)f
9、or(i=0;i-1;i+)/對前十名輸出vvtvvstuai.numbervvendl;四、界面設計*1*1*vt*1*1*1*1*rT*rT*rT*1、選手信息2、選手得票數(shù)3、投票4、排行榜5、退出系統(tǒng)*1*1*X*、t*、t*、t*、t*、t*、t*vt*1*1*1*1*rT*rT*rT*五、運行測試與分析(1)對記錄不存在的學生進行投票,即提名過程najing等獎2.軟件工程全國物理競賽冃l(wèi)ihong1013042049此記錄甲1提名該學生、najing等獎2.軟件工程全國物理競賽冃l(wèi)ihong1013042049此記錄甲1提名該學生、退出系統(tǒng)WJCW
10、JCWJCWJCWJCWJCWJCcliao1613642645:燥作:3爲手姓名的拼音+學號妙:L格式如下=h2$軟件工程h-_1事跡;全國三好學生依此模式對記錄不存在的學生進行提名,具體信息如圖(3)所示(2)對記錄已存在的選手進行投票KKKKKKKKWMWMWMWM蠱鞠妾數(shù)majing-chan1913042045;麟庇的拼音+學號t如;majing-chan1913042045;111lions1013042049限票戚功(3)顯示選手信息手手票行-(4)顯示排行榜1E數(shù)一“息票統(tǒng)1一手手票行出TIm-.一.:、ISM數(shù)(6)顯示記錄不存在選手的得票數(shù)majinsfcliao1013042045:、ISM數(shù)(7)選擇無效操作、退出
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 人教版初中物理中考復習教學導學案 (全套含答案)
- 從《榜樣9》悟“四個帶頭”:對標先進砥礪前行
- 能源項目風險管理 課件 7-能源項目風險監(jiān)控管理
- 小升初數(shù)學銜接教案講義
- 高一化學達標訓練:第三單元從微觀結構看物質(zhì)的多樣性
- 吉林省吉林市普通中學2024-2025學年高三上學期二模試題 物理
- 2024高中地理第二章區(qū)域生態(tài)環(huán)境建設第1節(jié)荒漠化的防治-以我國西北地區(qū)為例2精練含解析新人教必修3
- 2024高中物理第四章電磁感應4法拉第電磁感應定律達標作業(yè)含解析新人教版選修3-2
- 2024高考地理一輪復習第三部分區(qū)域可持續(xù)發(fā)展-重在綜合第四章區(qū)域經(jīng)濟發(fā)展第33講區(qū)域工業(yè)化與城市化學案新人教版
- 2024高考化學一輪復習第三章金屬及其化合物第二講鋁鎂及其重要化合物規(guī)范演練含解析新人教版
- 新版?zhèn)€人簡歷Excel表格模板共2聯(lián)
- (完整)中國象棋教案
- 2023年八年級物理實驗報告單
- DL-T 5190.1-2022 電力建設施工技術規(guī)范 第1部分:土建結構工程(附條文說明)
- 《了凡四訓》課件
- 胖東來商貿(mào)集團各項管理制度
- 麥琴每日讀經(jīng)計劃表
- 連續(xù)梁施工安全培訓:掛籃施工及安全控制
- 土壤與肥料學課件
- 供應商物料質(zhì)量問題賠償協(xié)議(中文)
- 公共廁所(預算書)
評論
0/150
提交評論