




下載本文檔
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第一章 需求分析問(wèn)題的定義:本次課程設(shè)計(jì)所要求完成的是一個(gè)網(wǎng)上拍賣(mài)系統(tǒng)。該系統(tǒng)是根據(jù)題目描述及寫(xiě)好的的框架代碼,完成所要求的一些類(lèi)和函數(shù)去實(shí)現(xiàn)網(wǎng)上拍賣(mài)系統(tǒng)。本次課程設(shè)計(jì)共分為六個(gè)部分去逐步實(shí)現(xiàn)該拍賣(mài)系統(tǒng),在本次實(shí)驗(yàn)自己完成了拍賣(mài)系統(tǒng)的前五個(gè)部分。項(xiàng)目分析:利用數(shù)據(jù)結(jié)構(gòu)所學(xué)知識(shí)和算法設(shè)計(jì)完成該網(wǎng)上拍賣(mài)系統(tǒng)。很明顯該系統(tǒng)共分五個(gè)部分是由淺入深逐漸完善的,每個(gè)實(shí)驗(yàn)部分完成項(xiàng)目不同需求。隨著實(shí)驗(yàn)的進(jìn)行,功能越來(lái)越完備,越往后越符合實(shí)際拍賣(mài)的需求。實(shí)踐資料已經(jīng)為我們提供了完整的項(xiàng)目實(shí)踐指導(dǎo)書(shū)和附加的框架代碼。研究意義:本系統(tǒng)允許用戶(hù)對(duì)advertisement根據(jù)不同的關(guān)鍵去排序,同現(xiàn)實(shí)生活中我們到網(wǎng)上
2、拍賣(mài)購(gòu)物一樣,用戶(hù)需要此種功能來(lái)進(jìn)行對(duì)自己更好的選擇。為了使用戶(hù)更方便地選擇購(gòu)物,我們?cè)O(shè)置了開(kāi)始和關(guān)閉的時(shí)間、賣(mài)方的email以及物品數(shù)量、拍賣(mài)的最高最低價(jià),這樣用戶(hù)可以更方便的進(jìn)行搜索,這些從買(mǎi)方和賣(mài)方的角度考都是很有必要的。買(mǎi)方還可以根據(jù)自己的需求自己創(chuàng)建商品的子目錄,這樣更有利于商品的分類(lèi),可以更為直觀地選擇自己所需的物品。第二章 系統(tǒng)設(shè)計(jì)1、總體設(shè)計(jì) 給出設(shè)計(jì)思想,基本的數(shù)據(jù)結(jié)構(gòu),抽象數(shù)據(jù)類(lèi)型的定義,主要的操作的定義(或類(lèi)的定義) 設(shè)計(jì)思想: 根據(jù)拍賣(mài)的實(shí)際特點(diǎn)和實(shí)驗(yàn)指導(dǎo)書(shū)中所給的提示從用戶(hù)角度出發(fā),充分考慮各項(xiàng)基本算法設(shè)計(jì)的合理性來(lái)選擇合適的數(shù)據(jù)結(jié)構(gòu)來(lái)編寫(xiě)正確的算法解決該拍賣(mài)問(wèn)題。基
3、本數(shù)據(jù)結(jié)構(gòu): 優(yōu)先級(jí)隊(duì)列、串、數(shù)組等常用的一些數(shù)據(jù)結(jié)構(gòu)的邏輯形式、存儲(chǔ)形式以及實(shí)現(xiàn)各種操作的算法。主要的抽象數(shù)據(jù)類(lèi)型和類(lèi)的定義:主要的抽象數(shù)據(jù)類(lèi)型包括group和 listing、category等。group是一個(gè)client的集合,用來(lái)記錄所有的用戶(hù),listing是一個(gè)advertisment的集合,是用來(lái)存儲(chǔ)拍賣(mài)品的集合,category是用來(lái)記錄相同類(lèi)型的拍賣(mài)品的集合。2、程序設(shè)計(jì)get、set方法及構(gòu)造函數(shù)的實(shí)現(xiàn),在這里不予與說(shuō)明。實(shí)驗(yàn)一:1.date類(lèi)的實(shí)現(xiàn):操作符的重載operator=, operator(istream& istr, date& rhs)的實(shí)現(xiàn),由于已經(jīng)規(guī)定
4、了時(shí)間的格式,所以通過(guò)istream,輸入整型變量和字符變量,重復(fù)輸入簡(jiǎn)化對(duì)時(shí)間字符串格式分割的處理。char ch;int datepart;/read the monthstreamdatepart;streamch;date.setmonth(datepart);2. advertisement類(lèi)的實(shí)現(xiàn):bool advertisement:operator=(const advertisement& a) const:若advertisement的唯一性標(biāo)識(shí)number相等,則說(shuō)明兩個(gè)產(chǎn)品是同一個(gè)產(chǎn)品,等號(hào)成立。istream &operator(istream &stream, ad
5、vertisement &a):同data中的重載方法相同,都是利用輸入整形變量和字符變量來(lái)進(jìn)行區(qū)別實(shí)現(xiàn)規(guī)定格式的輸入。3. client類(lèi)的實(shí)現(xiàn):bool verifypasswd(string passwd):用來(lái)驗(yàn)證用戶(hù)注冊(cè)時(shí)重復(fù)輸入的密碼與一開(kāi)始輸入的密碼是否相等。實(shí)驗(yàn)二:1.listing類(lèi)的實(shí)現(xiàn):本類(lèi)的實(shí)現(xiàn)主要的是vector的使用。本類(lèi)主要裝載生成的advertisement的對(duì)象。virtual void add(advertisement* ptr) 添加advertisement對(duì)象virtual iterator begin() 返回vector中第一個(gè)advertise
6、ment對(duì)象的iterator;virtual iterator end() 返回vector中第一個(gè)advertisement對(duì)象的iterator;advertisement* listing:operator(const int& number)for(vector:iterator iter = objects.begin();iter != objects.end(); iter+)if(*iter)-getnumber() = number)return *iter;return null;2.group類(lèi)的實(shí)現(xiàn):本類(lèi)的實(shí)現(xiàn)主要也是vector的使用。本類(lèi)主要裝載生成的用戶(hù)clie
7、nt對(duì)象。client* group:operator(const string& email)for(vector:iterator iter = objects.begin(); iter != objects.end(); iter+)if(*iter)-getemail() = email)return *iter;return null; 實(shí)驗(yàn)三:1.第三個(gè)實(shí)驗(yàn)完善了系統(tǒng),添加了對(duì)拍賣(mài)物品的分類(lèi)功能;category,categories。主要是處理拍賣(mài)物品的分類(lèi)問(wèn)題。2.category類(lèi)的實(shí)現(xiàn):void category:findofferings(listing:iterato
8、r start, listing:iterator finish, listing& matches)listing:iterator iterlist = start;while(iterlist != finish)for(vector:iterator iteritem = this-items.begin();iteritem != this-items.end(); iteritem+)if(*(*iterlist).getnumber() = (*iteritem)matches.add(*iterlist);iterlist+;void category:findoffering
9、srecursive (listing:iterator start, listing:iterator finish, listing &matches)findofferings(start, finish, matches);if(this-sub_categories.empty()return;elsefor(vector:iterator iter = this-sub_categories.begin();iter != this-sub_categories.end(); iter+)(*iter)-findofferingsrecursive(start, finish, m
10、atches);這部分代碼是遍歷遞歸的關(guān)鍵。在此遞歸調(diào)用了findofferings(start,finish,matches);利用循環(huán)返回遍歷子目錄,這就是所用到的遞歸思想。3.categoryies類(lèi)的實(shí)現(xiàn)原理同前面代碼有相似之處,不做分析實(shí)驗(yàn)四:1.更改listing類(lèi),實(shí)現(xiàn)了sorting和filtering。2.利用的是stl函數(shù),通過(guò)引用函數(shù)對(duì)象來(lái)完成相關(guān)操作。遍歷查找到匹配的關(guān)鍵字listing listing:sort(string field)listing sortlist;for(listing:iterator iter = this-objects.begin();
11、iter != this-objects.end(); iter+)sortlist.add(*iter);if(field = email)std:sort(sortlist.begin(), sortlist.end(), emailcmp);if(field = start)std:sort(sortlist.begin(), sortlist.end(), startcmp);if(field = close)std:sort(sortlist.begin(), sortlist.end(), closecmp);if(field = quantity)std:sort(sortlis
12、t.begin(), sortlist.end(), quantitycmp);return sortlist;下面代碼是遍歷查找的關(guān)鍵,當(dāng)查找到匹配的關(guān)鍵字時(shí)就把它顯示出來(lái)class filtstring key;public:filt(string keyword):key(keyword)operator()(advertisement *a)string title = (*a).gettitle();string body = (*a).getbody();if(strstr(title.c_str(), key.c_str() != null| strstr(body.c_str(
13、), key.c_str() != null)return false;elsereturn true;listing listing:filter(string keyword)listing removelist = listing(*this);listing:iterator last;if(keyword = )return removelist;elselast = remove_if(removelist.begin(), removelist.end(), filt(keyword);removelist.objects.erase(last, removelist.objec
14、ts.end();return removelist;實(shí)驗(yàn)五:1. bid類(lèi)的實(shí)現(xiàn):bid類(lèi)的主要功能是實(shí)現(xiàn)對(duì)拍賣(mài)物品的投標(biāo)競(jìng)拍;主要是實(shí)現(xiàn)操作符重載2. 對(duì)advertisement類(lèi)的修改vector advertisement:gettopdutchbids(void) const/返回拍賣(mài)值中最高的vector topbid;priority_queue dutchbid = this-bids;int ad = this-quantity;while(ad 0 & dutchbid.size() 0)if(dutchbid.size() 0)if(ad dutchbid.top().
15、getquantity()topbid.push_back(dutchbid.top();ad -= dutchbid.top().getquantity();dutchbid.pop();elsead = 0;topbid.push_back(dutchbid.top();return topbid;3. client類(lèi)的修改。第三章 系統(tǒng)實(shí)現(xiàn)與調(diào)試自己算法設(shè)計(jì)主要體現(xiàn)在for循環(huán)的遍歷上,如實(shí)驗(yàn)二listing類(lèi)中對(duì)對(duì)象advertisement的遍歷;因?yàn)橹挥幸粋€(gè)for循環(huán),所以空間復(fù)雜度為iter;時(shí)間復(fù)雜度為iter;其余for循環(huán)分析類(lèi)似,有的套用的兩個(gè)for循環(huán),相應(yīng)的時(shí)間復(fù)雜度是兩個(gè)for循環(huán)的執(zhí)行次數(shù)乘積。第四章 系統(tǒng)測(cè)試第五章 結(jié)論程序的最終實(shí)現(xiàn)結(jié)果:本次實(shí)驗(yàn)最終實(shí)現(xiàn)了課程設(shè)計(jì)所給定的前五個(gè)部分,完成了一個(gè)具有一定功能的網(wǎng)上拍賣(mài)系統(tǒng),完成的功能有:注冊(cè)用戶(hù)、添加拍賣(mài)品、進(jìn)行競(jìng)拍、可以對(duì)產(chǎn)品進(jìn)行分類(lèi)查找等功能。可實(shí)現(xiàn)實(shí)網(wǎng)上競(jìng)拍,系統(tǒng)可以顯示出獲勝方的聯(lián)系方式以及獲勝的籌碼。通過(guò)本次課程設(shè)計(jì),不但鞏固了所學(xué)過(guò)的數(shù)據(jù)結(jié)構(gòu)相關(guān)知識(shí),而且對(duì)一些算法有了一個(gè)初步的掌握
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 行業(yè)龍頭企業(yè)會(huì)議合同
- 景區(qū)旅游解說(shuō)系統(tǒng)優(yōu)化考核試卷
- 摩托車(chē)啟動(dòng)系統(tǒng)與故障檢修考核試卷
- 特殊作業(yè)機(jī)器人作業(yè)流程優(yōu)化試題考核試卷
- 放射性廢物處理與核設(shè)施的安全文化考核試卷
- 發(fā)電機(jī)潤(rùn)滑系統(tǒng)考核試卷
- 社區(qū)衛(wèi)生服務(wù)臨床路徑應(yīng)用考核試卷
- 網(wǎng)絡(luò)安全防護(hù)法律法規(guī)適用性考核試卷
- 海水養(yǎng)殖水質(zhì)監(jiān)測(cè)新技術(shù)研究考核試卷
- 玻璃制造的化學(xué)穩(wěn)定性與抗腐蝕性考核試卷
- 《智能網(wǎng)聯(lián)汽車(chē)用攝像頭硬件性能要求及試驗(yàn)方法》編制說(shuō)明
- 2024年3月ITSMS信息技術(shù)服務(wù)管理體系基礎(chǔ)(真題卷)
- 節(jié)能評(píng)審和節(jié)能評(píng)估文件編制費(fèi)用收費(fèi)標(biāo)準(zhǔn)
- 2023-2024年《勞務(wù)勞動(dòng)合同樣本范本書(shū)電子版模板》
- 中國(guó)居民口腔健康狀況第四次中國(guó)口腔健康流行病學(xué)調(diào)查報(bào)告
- MOOC 數(shù)據(jù)挖掘-國(guó)防科技大學(xué) 中國(guó)大學(xué)慕課答案
- 中藥注射劑合理使用培訓(xùn)
- 第13課+清前中期的興盛與危機(jī)【中職專(zhuān)用】《中國(guó)歷史》(高教版2023基礎(chǔ)模塊)
- 2024年國(guó)家糧食和物資儲(chǔ)備局直屬事業(yè)單位招聘筆試參考題庫(kù)附帶答案詳解
- 蘇軾臨江仙課件大學(xué)語(yǔ)文完美版
- 《施工測(cè)量》課件
評(píng)論
0/150
提交評(píng)論