軟件工程課程設(shè)計(jì).doc_第1頁(yè)
軟件工程課程設(shè)計(jì).doc_第2頁(yè)
軟件工程課程設(shè)計(jì).doc_第3頁(yè)
軟件工程課程設(shè)計(jì).doc_第4頁(yè)
軟件工程課程設(shè)計(jì).doc_第5頁(yè)
已閱讀5頁(yè),還剩26頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

分類號(hào) 編 號(hào) 華北水利水電大學(xué) North China Institute of Water Conservancy and Hydroelectric Power 課 程 設(shè) 計(jì)題目 田徑運(yùn)動(dòng)會(huì)管理信息系統(tǒng) 學(xué) 院 信息工程學(xué)院 專 業(yè) 計(jì)算機(jī)科學(xué)與技術(shù) 小組成員1 吳輝密(201219619) 小組成員2 張秋敏(201219621) 小組成員3 張馥雅(201219622) 小組成員4 張倩倩(201219623) 指 導(dǎo) 教 師 白娟 2013年 12 月 6 日華北水利水電大學(xué) 軟件工程 課程設(shè)計(jì)報(bào)告20132014學(xué)年 第 一 學(xué)期 2012級(jí) 計(jì)算機(jī)科學(xué)與技術(shù) 專業(yè)小組成員1: 吳輝密(201219619) 分工: 運(yùn)動(dòng)員信息的錄入、修改、查詢、顯示 小組成員2: 張秋敏(201219621) 分工: 比賽項(xiàng)目信息的錄入、修改、查詢、顯示 小組成員3: 張馥雅(201219622) 分工: 需求分析、概要設(shè)計(jì)、資料的搜集等 小組成員4: 張倩倩(201219623) 分工: 比賽成績(jī)的錄入、修改、查詢、顯示 目 錄摘 要1一、需求分析21.1 可行性分析21.2.1 C/ C +語(yǔ)言簡(jiǎn)介21.2.2 開發(fā)背景31.2.3開發(fā)環(huán)境31.3 系統(tǒng)需求分析31.4 系統(tǒng)總體設(shè)計(jì)4二、概要設(shè)計(jì)42.1 數(shù)據(jù)結(jié)構(gòu)42.2程序模塊5三、詳細(xì)設(shè)計(jì)6四、程序代碼7五、測(cè)試9六、附錄12七、心得體會(huì)29參 考 文 獻(xiàn)301田徑運(yùn)動(dòng)會(huì)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)摘 要 運(yùn)動(dòng)會(huì)管理是一個(gè)重要內(nèi)容,隨著時(shí)代的進(jìn)步,參加運(yùn)動(dòng)會(huì)的運(yùn)動(dòng)員數(shù)量也不斷增加、項(xiàng)目也越來(lái)越多、運(yùn)動(dòng)會(huì)舉辦也越來(lái)越頻繁,對(duì)運(yùn)動(dòng)會(huì)管理要求也越來(lái)越高。如何管理好各單位、運(yùn)動(dòng)員的成績(jī)的信息,對(duì)運(yùn)動(dòng)會(huì)管理系統(tǒng)的要求也越來(lái)越高,所以必須要不斷地更新運(yùn)動(dòng)會(huì)管理系統(tǒng),才能滿足社會(huì)日益發(fā)展的需要。本文是采用VC+6.0作為前臺(tái)開發(fā)工具,旨在實(shí)現(xiàn)對(duì)現(xiàn)有的運(yùn)動(dòng)會(huì)管理的基礎(chǔ)上,提供信息錄入,信息刪除,信息查詢,信息輸出等服務(wù),在此實(shí)驗(yàn)報(bào)告中主要實(shí)現(xiàn)對(duì)存儲(chǔ)在管理系統(tǒng)中的數(shù)據(jù)表進(jìn)行這些簡(jiǎn)單的操作,為提高運(yùn)動(dòng)會(huì)管理系統(tǒng)的效率提供了便利。關(guān)鍵詞:VC+6.0;運(yùn)動(dòng)會(huì)信息管理;第一章 需求分析1.1 可行性分析 計(jì)算機(jī)以其強(qiáng)大的性能價(jià)格優(yōu)勢(shì)給人們的工作、學(xué)習(xí)和生活帶來(lái)極大的方便計(jì)算機(jī)代替人工處理一些事務(wù)已成為必然。整個(gè)人類社會(huì)已進(jìn)入高度信息化,人們對(duì)信息和數(shù)據(jù)的利用和處理已經(jīng)進(jìn)入自動(dòng)化、網(wǎng)絡(luò)化和社會(huì)化的階段。如在查找資料、處理日常辦公事務(wù)、科研生產(chǎn)等方面,無(wú)不需要利用大量的信息資源。因此,如何有效地進(jìn)行數(shù)據(jù)信息的管理和利用,已經(jīng)成為人們普遍關(guān)注的課題。信息在不同的領(lǐng)域里有著不同的概念,在管理科學(xué)領(lǐng)域中,通常認(rèn)為信息是經(jīng)過(guò)加工處理后的一種數(shù)據(jù)形式,是一種有次序的符號(hào)排列,它是系統(tǒng)傳輸和處理的對(duì)象。處在信息時(shí)代的今天,信息的作用越來(lái)越為人們所重視。制定成績(jī)計(jì)劃,研究投資策略,都離不開對(duì)信息的充分利用。在當(dāng)今社會(huì)上,體育運(yùn)動(dòng)越來(lái)越普及,參與運(yùn)動(dòng)會(huì)的人越來(lái)越多,素質(zhì)越來(lái)越高。傳統(tǒng)的運(yùn)動(dòng)會(huì),一般是以人手組織為主,運(yùn)動(dòng)員的報(bào)名、賽事的安排、比賽場(chǎng)地的安排和成績(jī)的記錄等操作全都由人手操作,參加人數(shù)越多,運(yùn)動(dòng)會(huì)的規(guī)模就越大,管理工作就更加費(fèi)時(shí)費(fèi)力,而且容易出錯(cuò)。學(xué)校田徑運(yùn)動(dòng)會(huì)管理系統(tǒng)則為組織者提供一個(gè)簡(jiǎn)捷方便的方式來(lái)組織管理運(yùn)動(dòng)會(huì),學(xué)校田徑運(yùn)動(dòng)會(huì)管理系統(tǒng)是一種“人機(jī)交互系統(tǒng)”,通過(guò)簡(jiǎn)單的鍵盤輸入與鼠標(biāo)點(diǎn)擊來(lái)完成煩瑣的記錄與安排工作,保證運(yùn)動(dòng)會(huì)的正常流暢的進(jìn)行。學(xué)校田徑運(yùn)動(dòng)會(huì)管理系統(tǒng)是典型的數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng),可完成田徑運(yùn)動(dòng)會(huì)管理中的運(yùn)動(dòng)員基本信息錄入,競(jìng)賽成績(jī)處理及公告,成績(jī)統(tǒng)計(jì)信息查詢等事務(wù)處理功能。根據(jù)學(xué)校田徑運(yùn)動(dòng)會(huì)的一般進(jìn)程,本系統(tǒng)分為數(shù)據(jù)修改、查詢、刪除、計(jì)算等四個(gè)工具模塊來(lái)完成所期望的功能。依據(jù)關(guān)系型數(shù)據(jù)庫(kù)理論設(shè)計(jì)數(shù)據(jù)庫(kù)的結(jié)構(gòu)。使用該系統(tǒng)可以極大地減小工作人員的勞動(dòng)量,同時(shí)還可大大提高工作效率、可靠性和正確性。1.2 開發(fā)環(huán)境和開發(fā)工具1.2.1 C/ C +語(yǔ)言簡(jiǎn)介C語(yǔ)言是一種計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言。它既具有高級(jí)語(yǔ)言的特點(diǎn),又具有匯編語(yǔ)言的特點(diǎn)。它由美國(guó)貝爾研究所的D.M.Ritchie于1972年推出。1978后,C語(yǔ)言已先后被移植到大、中、小及微型機(jī)上。它可以作為工作系統(tǒng)設(shè)計(jì)語(yǔ)言,編寫系統(tǒng)應(yīng)用程序,也可以作為應(yīng)用程序設(shè)計(jì)語(yǔ)言,編寫不依賴計(jì)算機(jī)硬件的應(yīng)用程序。它的應(yīng)用范圍廣泛,具備很強(qiáng)的數(shù)據(jù)處理能力,不僅僅是在軟件開發(fā)上,而且各類科研都需要用到C語(yǔ)言,適于編寫系統(tǒng)軟件,三維,二維圖形和動(dòng)畫。1.2.2 開發(fā)背景 隨著科學(xué)技術(shù)的不斷發(fā)展,計(jì)算機(jī)科學(xué)日漸成熟,其強(qiáng)大的功能已為人們所深刻認(rèn)識(shí),它己進(jìn)入人類社會(huì)的各個(gè)領(lǐng)域并發(fā)揮著越來(lái)越重要的作用。采用計(jì)算機(jī)進(jìn)行信息化管理已成為衡量企業(yè)管理科學(xué)化和現(xiàn)代化的重要標(biāo)志,而人事管理的全面自動(dòng)化、信息化則是其中重要的組成部分。人事管理的好壞對(duì)于企業(yè)的決策者和管理者來(lái)說(shuō)都至關(guān)重要,在很大程度上影響著企業(yè)的經(jīng)濟(jì)效益和社會(huì)效益。因此,本文所研究的人事管理信息系統(tǒng)具有一定的使用價(jià)值和現(xiàn)實(shí)意義。信息錄入,學(xué)生信息錄入,成績(jī)錄入三個(gè)模塊的相關(guān)內(nèi)容,最后的整體代碼由兩個(gè)人組合完成。1.2.3開發(fā)環(huán)境本文所采用的開發(fā)環(huán)境主要是基于C+語(yǔ)言在Visual C+平臺(tái)上開發(fā)的系統(tǒng),界面友好,功能強(qiáng)大,調(diào)試也很方便。這是微軟出的一個(gè)C語(yǔ)言集成開發(fā)環(huán)境(IDE),主要有:VC+6.0等,分為企業(yè)版和學(xué)生版等。對(duì)于初學(xué)者VC+6.0是比較容易上手的,但其對(duì)標(biāo)準(zhǔn)支持的不好可能使人養(yǎng)成不良的編程習(xí)慣。1.3 系統(tǒng)需求分析本實(shí)驗(yàn)中,對(duì)不同的對(duì)象采取不同的存儲(chǔ)結(jié)構(gòu),對(duì)比賽項(xiàng)目采取鏈?zhǔn)浇Y(jié)構(gòu),而對(duì)于參賽運(yùn)動(dòng)員采取一個(gè)結(jié)構(gòu)就可以了。本程序中主要用到線性表的一些基本操作,將比賽項(xiàng)目信息,運(yùn)動(dòng)員信息,賽事信息都構(gòu)造成線性表。具體功能通過(guò)主函數(shù)分別調(diào)用各函數(shù)實(shí)現(xiàn)。參考本實(shí)驗(yàn)的功能要求,本程序分為七個(gè)模塊:主函數(shù)、信息錄入函數(shù)、信息修改函數(shù)、信息刪除函數(shù)、信息查詢函數(shù),信息輸出函數(shù)。信息錄入函數(shù)有包括比賽項(xiàng)目信息錄入函數(shù)(包括比賽編號(hào)、名稱等),運(yùn)動(dòng)員信息錄入函數(shù)(運(yùn)動(dòng)員的編號(hào)、姓名、性別、年齡、工作單位或省份)、比賽賽事信息錄入函數(shù)(某運(yùn)動(dòng)員參加某比賽項(xiàng)目,成績(jī)、名次)。信息修改函數(shù)包括比賽項(xiàng)目、運(yùn)動(dòng)員信息、賽事信息修改。信息查詢函數(shù)包括根據(jù)比賽項(xiàng)目、運(yùn)動(dòng)員編號(hào)進(jìn)行查修信息輸出函數(shù)包括比賽項(xiàng)目、運(yùn)動(dòng)員信息、賽事信息輸出等。1.4 系統(tǒng)總體設(shè)計(jì) 支持輸入各個(gè)項(xiàng)目的基本信息;可以按比賽項(xiàng)目編號(hào)或名稱查詢、刪除、修改信息??梢园催\(yùn)動(dòng)員編號(hào)或姓名查詢、刪除、修改信息數(shù)據(jù)輸入信息并能隨時(shí)查詢 1.5 數(shù)據(jù)流圖第二章 概要設(shè)計(jì)說(shuō)明本系統(tǒng)中用到的所有數(shù)據(jù)類型的定義及存儲(chǔ)結(jié)構(gòu),主程序的流程以及各程序模塊之間的調(diào)用關(guān)系。2.1 數(shù)據(jù)結(jié)構(gòu)從整個(gè)管理系統(tǒng)來(lái)看,我們知道這里主要有三個(gè)主體,一個(gè)是比賽項(xiàng)目信息,一個(gè)是運(yùn)動(dòng)員,另一個(gè)是比賽事項(xiàng)目信息。這三者不單單是作為簡(jiǎn)單的主體存在,他們都有很多功能,所以我們使用類和鏈表來(lái)定義。如下:比賽項(xiàng)目的定義:class Matchpublic:Match *next;/為創(chuàng)建鏈表做準(zhǔn)備int number; /比賽項(xiàng)目編號(hào)char call10; /比賽項(xiàng)目名稱char time10; /比賽時(shí)間char place20; /比賽地點(diǎn) friendvoid input1();運(yùn)動(dòng)員的定義:class Athletepublic:Athlete *next;int number; /運(yùn)動(dòng)員的編號(hào)char name10; /運(yùn)動(dòng)員的姓名 char part20; /運(yùn)動(dòng)員所屬工作單位或省份char sex20; /運(yùn)動(dòng)員性別int age; /運(yùn)動(dòng)員年齡friend void input2();比賽賽事項(xiàng)目的定義:class Messagepublic:Message *next;char name10; /運(yùn)動(dòng)員姓名char avent10; /運(yùn)動(dòng)員參加的某比賽項(xiàng)目名稱int score ; /成績(jī)int ca;/名次 friend void input3();2.2程序模塊 田徑運(yùn)動(dòng)會(huì)管理系統(tǒng) 數(shù)據(jù)的修改 數(shù)據(jù)的錄入 退出系統(tǒng) 數(shù)據(jù)的顯示 數(shù)據(jù)的查詢 數(shù)據(jù)的刪除 比賽賽事信息顯示運(yùn)動(dòng)員信息顯示比賽項(xiàng)目信息顯示運(yùn)動(dòng)員信息查詢比賽項(xiàng)目信息查詢比賽賽事信息查詢比賽項(xiàng)目信息刪除比賽賽事信息刪除運(yùn)動(dòng)員信息刪除比賽賽事信息輸入運(yùn)動(dòng)員信息輸入比賽項(xiàng)目信息輸入 比賽項(xiàng)目信息修改比賽賽事信息修改運(yùn)動(dòng)員信息修改 通過(guò)對(duì)某高校運(yùn)動(dòng)會(huì)管理信息系統(tǒng)的基本功能調(diào)研和分析,各個(gè)子系統(tǒng)的主要功能如下: 比賽項(xiàng)目信息管理:主要負(fù)責(zé)比賽項(xiàng)目信息的錄入、修改、查詢,顯示比賽項(xiàng)目信息; 運(yùn)動(dòng)員注冊(cè):負(fù)責(zé)參賽運(yùn)動(dòng)員的注冊(cè)登記,并可隨時(shí)查詢、打印參賽運(yùn)動(dòng)員信息; 成績(jī)統(tǒng)計(jì):用于錄入、統(tǒng)計(jì)各項(xiàng)比賽的的預(yù)、決賽成績(jī),統(tǒng)計(jì)各運(yùn)動(dòng)員積分。本模塊可以查詢每個(gè)參賽運(yùn)動(dòng)員的成績(jī)信息,打印各種成績(jī)報(bào)表。第3章 詳細(xì)設(shè)計(jì)開 始顯示主菜單輸入選擇是否合理 提示錯(cuò)誤信息YN是否為1是否為3NNN是否為2是否為4YYY Y N調(diào)用錄入函數(shù)調(diào)用修改函數(shù)調(diào)用刪除函數(shù)調(diào)用查詢函數(shù) 是否為5是否為6N Y Y 退出系統(tǒng)調(diào)用顯示函數(shù) 圖3-1主菜單流程圖 開始主菜單 數(shù)據(jù)錄入是否為1是否為2是否為3請(qǐng)輸入比賽項(xiàng)目信息請(qǐng)輸入運(yùn)動(dòng)員信息請(qǐng)輸入比賽賽事信息YNNYYY是否繼續(xù)輸入YN圖3-2 數(shù)據(jù)的錄入流程圖開始主菜單 數(shù)據(jù)查詢是否為1 是否為2 是否為3請(qǐng)輸入對(duì)應(yīng)信息的編號(hào)請(qǐng)輸入對(duì)應(yīng)信息的編號(hào)是否為1是否為2YYNYN請(qǐng)輸入比賽項(xiàng)目的編號(hào)請(qǐng)輸入比賽項(xiàng)目的名稱是否為1是否為2請(qǐng)輸入運(yùn)動(dòng)員的編號(hào)請(qǐng)輸入運(yùn)動(dòng)員的姓名請(qǐng)輸入運(yùn)動(dòng)員的姓名和比賽的項(xiàng)目YYNYYYYYN圖3-3 數(shù)據(jù)的查詢流程圖第四章 程序代碼比賽項(xiàng)目信息錄入:void input1() ofstream fout(e:比賽項(xiàng)目.dat,ios:app);char ch;Match a;do cout請(qǐng)分別輸入比賽項(xiàng)目編號(hào)、名稱、比賽時(shí)間、比賽地點(diǎn).a.numbera.calla.placea.time; a.next=NULL; fout.write(char *)&a,sizeof(Match); cout是否繼續(xù)輸入,如果繼續(xù)鍵入Y|ych;while(ch=y|ch=Y); fout.close();運(yùn)動(dòng)員信息修改:int change2()/對(duì)運(yùn)動(dòng)員相關(guān)信息修改cout您正在進(jìn)行修改運(yùn)動(dòng)員基本信息操作!endl;creat2(); Athlete *p1; p1=head4;cout請(qǐng)輸入要修改運(yùn)動(dòng)員的編號(hào):number1;while(p1!=NULL) if(p1-number=number1) sign=1;break; p1= p1-next; if (sign=0) cout沒(méi)有找到要修改的記錄!endl; elsecout請(qǐng)選擇要修改運(yùn)動(dòng)員的哪些信息endl;cout-修改運(yùn)動(dòng)員的編號(hào)-1endl;cout-修改運(yùn)動(dòng)員的姓名-2endl;cout-修改運(yùn)動(dòng)員所屬工作單位或省份-3endl;cout-修改運(yùn)動(dòng)員性別-4endl; cout-修改運(yùn)動(dòng)員年齡-4endl;cout請(qǐng)輸入對(duì)應(yīng)信息的編號(hào)a;switch(a)case 1:cout請(qǐng)輸入新的運(yùn)動(dòng)員編號(hào):nu; p1-number=nu; cout運(yùn)動(dòng)員的編號(hào)修改成功!endl; break; case 2:cout請(qǐng)輸入新的運(yùn)動(dòng)員姓名:info; strcpy(p1-name,info);cout運(yùn)動(dòng)員姓名修改成功!endl; break;case 3:cout請(qǐng)輸入新的運(yùn)動(dòng)員所屬工作單位或省份:info;strcpy(p1-part,info);cout運(yùn)動(dòng)員所屬工作單位或省份修改成功!endl; break;case 4:cout請(qǐng)輸入新的性別:info;strcpy(p1-sex,info);cout運(yùn)動(dòng)員性別修改成功!endl; break;case 5:cout請(qǐng)輸入新的年齡:nu;p1-age=nu,cout運(yùn)動(dòng)員年齡修改成功!next; fout.close(); return 0;比賽賽事信息顯示:void print3() creat3(); Message *p1=head7; cout請(qǐng)分別輸出比賽參賽運(yùn)動(dòng)員姓名、比賽項(xiàng)目名稱、比賽成績(jī)、比賽名次.endl; while(p1!=NULL) coutnametaventtscoretcanext; 第五章 結(jié)果與測(cè)試5.1 實(shí)驗(yàn)結(jié)果:算法結(jié)果以截屏的形式顯示出 :信息錄入信息修改信息刪除信息查詢信息輸出及退出系統(tǒng)5.2 測(cè)試5.2.1 數(shù)據(jù)的錄入測(cè)試表5-1 比賽項(xiàng)目的錄入時(shí)輸入名稱測(cè)試用例輸入預(yù)期的輸出實(shí)際的輸出評(píng)價(jià)比賽項(xiàng)目的名稱(不超過(guò)20個(gè)字節(jié))成功,不會(huì)出現(xiàn)信息的錯(cuò)誤顯示結(jié)果第正確的該功能可行比賽項(xiàng)目的名稱(超過(guò)20個(gè)字節(jié))不成功,會(huì)出現(xiàn)錯(cuò)誤信息顯示結(jié)果是錯(cuò)誤的該功能不可行表5-2 比賽項(xiàng)目的錄入時(shí)輸入時(shí)間測(cè)試用例輸入預(yù)期的輸出實(shí)際的輸出評(píng)價(jià)比賽時(shí)間(不超過(guò)10個(gè)字節(jié))成功,不會(huì)出現(xiàn)信息的錯(cuò)誤顯示結(jié)果第正確的該功能可行比賽時(shí)間(超過(guò)10個(gè)字節(jié))不成功,會(huì)出現(xiàn)錯(cuò)誤信息顯示結(jié)果是錯(cuò)誤的該功能不可行表5-3 比賽項(xiàng)目的錄入時(shí)輸入地點(diǎn)測(cè)試用例輸入預(yù)期的輸出實(shí)際的輸出評(píng)價(jià)比賽地點(diǎn)(不超過(guò)20個(gè)字節(jié))成功,不會(huì)出現(xiàn)信息的錯(cuò)誤顯示結(jié)果是正確的該功能可行比賽地點(diǎn)(超過(guò)20個(gè)字節(jié))不成功,會(huì)出現(xiàn)錯(cuò)誤信息顯示結(jié)果是錯(cuò)誤的該功能不可行表5-5 運(yùn)動(dòng)員的錄入時(shí)輸入名稱測(cè)試用例輸入預(yù)期的輸出實(shí)際的輸出評(píng)價(jià)運(yùn)動(dòng)員名字(不超過(guò)10個(gè)字節(jié))成功,不會(huì)出現(xiàn)信息的錯(cuò)誤顯示結(jié)果是正確的該功能可行運(yùn)動(dòng)員名字(超過(guò)10個(gè)字節(jié))不成功,會(huì)出現(xiàn)錯(cuò)誤信息顯示結(jié)果是錯(cuò)誤的該功能不可行表5-6 運(yùn)動(dòng)員的錄入時(shí)輸入名稱測(cè)試用例輸入預(yù)期的輸出實(shí)際的輸出評(píng)價(jià)運(yùn)動(dòng)員單位(不超過(guò)20個(gè)字節(jié))成功,不會(huì)出現(xiàn)信息的錯(cuò)誤顯示結(jié)果是正確的該功能可行運(yùn)動(dòng)員單位(超過(guò)20個(gè)字節(jié))不成功,會(huì)出現(xiàn)錯(cuò)誤信息顯示結(jié)果是錯(cuò)誤的該功能不可行5.2.1 數(shù)據(jù)的刪除測(cè)試表5-4 運(yùn)動(dòng)員的刪除時(shí)輸入編號(hào)測(cè)試用例輸入預(yù)期的輸出實(shí)際的輸出評(píng)價(jià)要?jiǎng)h除的運(yùn)動(dòng)員的編號(hào)成功顯示結(jié)果是錯(cuò)誤的該功能不可行第六章 附錄源代碼:#include#include#includeusing namespace std;void fun1() cout*endl; coutendl; cout*學(xué)校運(yùn)動(dòng)會(huì)管理系統(tǒng)*endl;cout-數(shù)據(jù)錄入 請(qǐng)按:1-endl;cout-數(shù)據(jù)修改 請(qǐng)按:2-endl;cout-數(shù)據(jù)刪除 請(qǐng)按:3-endl;cout-數(shù)據(jù)查詢 請(qǐng)按:4-endl;cout-數(shù)據(jù)顯示 請(qǐng)按:5-endl;cout-退出系統(tǒng) 請(qǐng)按:6-endl;coutendl;cout*endl;coutendl;cout*請(qǐng)輸入一個(gè)數(shù)據(jù),并按回車鍵!*endl;class Matchpublic:Match *next;/為創(chuàng)建鏈表做準(zhǔn)備int number; /比賽項(xiàng)目編號(hào)char call10; /比賽項(xiàng)目名稱char time10; /比賽時(shí)間char place20; /比賽地點(diǎn) friendvoid input1();void input1() ofstream fout(e:比賽項(xiàng)目.dat,ios:app);char ch;Match a;do cout請(qǐng)分別輸入比賽項(xiàng)目編號(hào)、名稱、比賽時(shí)間、比賽地點(diǎn).a.numbera.calla.placea.time; a.next=NULL; fout.write(char *)&a,sizeof(Match); cout是否繼續(xù)輸入,如果繼續(xù)鍵入Y|ych;while(ch=y|ch=Y); fout.close();Match *head1;void creat() head1=NULL; Match *p,*q=head1; ifstream fin(e:比賽項(xiàng)目.dat,ios:in); if(!fin) cout文件打開失敗!next=p;q=p; p=new Match; fin.read(char*)p,sizeof(Match); fin.close();int change1() /對(duì)比賽項(xiàng)目相關(guān)信息修改cout您正在進(jìn)行修改比賽項(xiàng)目有關(guān)事項(xiàng)操作!endl;creat(); Match *p1; p1=head1;cout請(qǐng)輸入要修改比賽項(xiàng)目的編號(hào):number1;while(p1!=NULL) if(p1-number=number1) sign=1;break; p1= p1-next; if (sign=0)cout沒(méi)有找到要修改的記錄!endl; elsecout請(qǐng)選擇要修改比賽項(xiàng)目的那些信息endl;cout-修改比賽項(xiàng)目的編號(hào)-1endl;cout-修改比賽項(xiàng)目的名稱-2endl;cout-修改比賽時(shí)間-3endl;cout-修改比賽地點(diǎn)-4endl;cout請(qǐng)輸入對(duì)應(yīng)信息的編號(hào)a;switch(a)case 1:cout請(qǐng)輸入新的比賽編號(hào):nu; p1-number=nu; cout比賽項(xiàng)目編號(hào)修改成功!endl; break; case 2:cout請(qǐng)輸入新的比賽項(xiàng)目名稱:info; strcpy(p1-call,info);cout比賽項(xiàng)目名稱修改成功!endl; break; case 3:cout請(qǐng)輸入新的比賽時(shí)間:info;strcpy(p1-time,info);cout比賽項(xiàng)目時(shí)間修改成功!endl; break; case 4:cout請(qǐng)輸入新的比賽地點(diǎn):info;strcpy(p1-place,info);cout比賽項(xiàng)目地點(diǎn)修改成功!next; fout.close(); return 0;int delete1() /對(duì)比賽項(xiàng)目相關(guān)信息進(jìn)行刪除 creat(); Match *p1,*p2; p2=p1=head1;cout請(qǐng)選擇要?jiǎng)h除比賽項(xiàng)目的那些信息endl;cout-刪除比賽項(xiàng)目的編號(hào)-1endl;cout-刪除比賽項(xiàng)目的名稱-2endl; cout請(qǐng)輸入對(duì)應(yīng)信息的編號(hào)n; int num,flag=0; char cal10; switch(n) case 1: cinnum; while(p1!=NULL) if(p1-number=num) flag=1;break; p2=p1; p1= p1-next; if (flag=0) cout沒(méi)有找到要?jiǎng)h除的記錄!next=p1-next;case 2: cincal; while(p1!=NULL) if(!strcmp(p1-call,cal) flag=1;break; p2=p1; p1= p1-next; if (flag=0) cout沒(méi)有找到要?jiǎng)h除的記錄!next=p1-next; ofstream fout(e:比賽項(xiàng)目.dat,ios:out); p1=head1;while(p1!=NULL) fout.write(char*)p1,sizeof(Match);p1=p1-next; fout.close();return 0;void print1() creat(); Match *p1=head1; cout請(qǐng)分別輸出比賽項(xiàng)目編號(hào)、名稱、比賽時(shí)間、比賽地點(diǎn).endl;while(p1!=NULL) coutnumbertcallttimetplacenext; void find1() creat(); Match *p1; p1=head1; int sign=0;/設(shè)置的標(biāo)記變量 cout請(qǐng)選擇要查詢比賽項(xiàng)目的哪些信息endl;cout-按比賽項(xiàng)目的編號(hào)查詢-1endl;cout-按比賽項(xiàng)目的名稱查詢-2endl;cout-按比賽時(shí)間查詢-3endl;cout-按比賽地點(diǎn)查詢-4endl;cout請(qǐng)輸入對(duì)應(yīng)信息的編號(hào)a;switch(a)case 1:cout請(qǐng)輸入要查詢的比賽編號(hào):nu; while(p1!=NULL) if(p1-number=nu) sign=1;break; p1= p1-next; if (sign=0) cout沒(méi)有找到要查詢的記錄!endl; else coutnumbertcallttimetplaceendl; break; case 2:cout請(qǐng)輸入要查詢的比賽項(xiàng)目名稱:info; while(p1!=NULL) if(p1-call=info) sign=1;break; p1= p1-next; if (sign=0) cout沒(méi)有找到要查詢的記錄!endl; else coutnumbertcallttimetplaceendl; break; case 3:cout請(qǐng)輸入要查詢的比賽時(shí)間:info;while(p1!=NULL) if(!strcmp(p1-time,info) sign=1;break; p1= p1-next; if (sign=0) cout沒(méi)有找到要查詢的記錄!endl; else coutnumbertcallttimetplaceendl; break; case 4:cout請(qǐng)輸入要查詢的比賽地點(diǎn):info;while(p1!=NULL) if(!strcmp(p1-place,info) sign=1;break; p1= p1-next; if (sign=0) cout沒(méi)有找到要查詢的記錄!endl; else coutnumbertcallttimetplaceendl;break;int find()/進(jìn)行查找coutendl;coutttt請(qǐng)輸入要查詢的信息:endl;couttt比賽項(xiàng)目信息查詢 請(qǐng)按:1endl;couttt運(yùn)動(dòng)員信息查詢 請(qǐng)按:2endl;couttt比賽賽事信息查詢 請(qǐng)按:3j;switch(j)case 1:find1();break;case 2:find2();break;case 3:find3();break;default:cout輸入數(shù)據(jù)有誤!endl; return 0;int input()coutendl;coutttt請(qǐng)輸入要輸入的信息:endl;couttt比賽項(xiàng)目信息輸入 請(qǐng)按:1endl;couttt運(yùn)動(dòng)員信息輸入 請(qǐng)按:2endl;couttt比賽賽事信息輸入 請(qǐng)按:3j;switch(j)case 1:input1();break;case 2:input2();break;case 3:input3();break;default:cout輸入數(shù)據(jù)有誤!endl; return 0;int print()coutendl;coutttt請(qǐng)輸入要顯示輸出的信息:endl;couttt比賽項(xiàng)目信息顯示輸出 請(qǐng)按:1endl;couttt運(yùn)動(dòng)員信息顯示輸出 請(qǐng)按:2endl;couttt比賽賽事信息顯示輸出 請(qǐng)按:3j;switch(j)case 1:print1();break;case 2:print2();break;case 3:print3();break;default:cout輸入數(shù)據(jù)有誤!endl; return 0;int change()coutendl;coutttt請(qǐng)輸入要修改的信息:endl;couttt比賽項(xiàng)目信息修改 請(qǐng)按:1endl;couttt運(yùn)動(dòng)員信息修改 請(qǐng)按:2endl;couttt比賽賽事信息修改 請(qǐng)按:3j;switch(j)case 1:change1();break;case 2:change2();break;case 3:change3();break;default:cout輸入數(shù)據(jù)有誤!endl; return 0;int deleted()coutendl;coutttt請(qǐng)輸入要?jiǎng)h除的信息:endl;couttt比賽項(xiàng)目信息刪除 請(qǐng)按:1endl;couttt運(yùn)動(dòng)員信息刪除 請(qǐng)按:2endl;couttt比賽賽事信息刪除 請(qǐng)按:3j;switch(j)case 1:delete1();break;case 2:delete2();break;case 3:delete3();break;default:cout輸入數(shù)據(jù)有誤!i;

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論