![校際運(yùn)動會管理系統(tǒng)設(shè)計(jì)報(bào)告-張晶_第1頁](http://file4.renrendoc.com/view5/M01/37/00/wKhkGGZGvs6AW9hpAAE4UIlS2Ic522.jpg)
![校際運(yùn)動會管理系統(tǒng)設(shè)計(jì)報(bào)告-張晶_第2頁](http://file4.renrendoc.com/view5/M01/37/00/wKhkGGZGvs6AW9hpAAE4UIlS2Ic5222.jpg)
![校際運(yùn)動會管理系統(tǒng)設(shè)計(jì)報(bào)告-張晶_第3頁](http://file4.renrendoc.com/view5/M01/37/00/wKhkGGZGvs6AW9hpAAE4UIlS2Ic5223.jpg)
![校際運(yùn)動會管理系統(tǒng)設(shè)計(jì)報(bào)告-張晶_第4頁](http://file4.renrendoc.com/view5/M01/37/00/wKhkGGZGvs6AW9hpAAE4UIlS2Ic5224.jpg)
![校際運(yùn)動會管理系統(tǒng)設(shè)計(jì)報(bào)告-張晶_第5頁](http://file4.renrendoc.com/view5/M01/37/00/wKhkGGZGvs6AW9hpAAE4UIlS2Ic5225.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1課程設(shè)計(jì)題目與要求1.1設(shè)計(jì)題目〔1〕信息初始化,輸入:N-參賽學(xué)??倲?shù),M-男子競賽工程數(shù),W-女子競賽工程數(shù);各工程名次取法有以下幾種:1.取前5名:第1名得分7,第2名得分5,第3名得分3,第4名得分2,第5名得分1.2.取前3名:第1名得分5,第2名得分3,第3名得分2.3.用戶自定義:各名次權(quán)值由用戶指定?!?〕提醒用戶填寫比賽結(jié)果,輸入各工程獲獎運(yùn)發(fā)動的信息?!?〕所有信息記錄完畢后,用戶可以查詢各個學(xué)校的比賽成績,生成團(tuán)體總分報(bào)表,查看參賽學(xué)校信息和比賽工程信息等。1.2設(shè)計(jì)要求:〔1〕只能使用c/c++語言,源程序要有適當(dāng)?shù)淖⑨?,使程序容易閱讀?!?〕至少采用文本菜單界面〔如果能采用圖形界面更好〕〔3〕學(xué)生可以自動增加新功能模塊2總體設(shè)計(jì)主菜單流程圖:開始開始調(diào)用調(diào)用begin()函數(shù)調(diào)用face()調(diào)用face()函數(shù)調(diào)用manu()調(diào)用manu()函數(shù)退出退出模塊示意圖:初始化模塊初始化模塊輸入模塊查詢模塊退出模塊飛機(jī)訂票系統(tǒng)記錄信息模塊各模塊功能如下:1.初始化模塊:進(jìn)行對學(xué)校數(shù),男子工程,女子工程的值進(jìn)行輸入,以及各工程名次得分取值的選擇;2.數(shù)據(jù)輸入模塊:輸入學(xué)生姓名,學(xué)校,工程,性別,排名;3.查詢模塊:分為按學(xué)校,工程,學(xué)生查詢,查詢?nèi)啃畔⒁约胺祷刂鞑藛危?.查詢記錄模塊:可以查詢現(xiàn)共有記錄條數(shù)以及個記錄的字符長度;5.退出程序。3詳細(xì)設(shè)計(jì)3.1數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)structstudent{ charname[10];//姓名10個字符 charschool[20];//學(xué)校名16個字符 charitem[10];//工程名10個字符 charsex[4];//性別4個字符 intposition;//排名2個字符 intmark;//得分2個字符}stu[A];整個程序只定義了一個結(jié)構(gòu)體,即學(xué)生結(jié)構(gòu)體,包含了姓名,學(xué)校,工程,性別,排名,得分。3.2主模塊設(shè)計(jì)//設(shè)置的全局變量inty=0,j,i,W,M,N,p[15],q[15],t;//N-參賽學(xué)??倲?shù)//M-男子競賽工程數(shù),//W-女子競賽工程數(shù)//y是菜單的選項(xiàng)//j是用戶自定義工程權(quán)值的選項(xiàng)//i是數(shù)據(jù)記錄的個數(shù)//p[15]是用于存放排名第幾的數(shù)組//q[15]是用于存放得分第幾的數(shù)組//t是循環(huán)計(jì)數(shù)器//各個函數(shù)聲明voidface();//制作的界面函數(shù)voidmenu();//菜單界面函數(shù)voidestablish();//初始化函數(shù)voidenter();//輸入函數(shù)voidsearch();//查詢函數(shù)voidsearch_by_item();//通過工程名查詢的函數(shù)voidsearch_by_school();//通過學(xué)校名查詢的函數(shù)voidsearch_by_student();//通過學(xué)生名查詢的函數(shù)voidsearch_by_all();//查詢所有信息的函數(shù)voidprinter_1();//報(bào)表格式1函數(shù)voidprinter_2();//報(bào)表格式2函數(shù)voidmark();//排名轉(zhuǎn)換為分?jǐn)?shù)voiddefined_by_user();//用戶自定義權(quán)值voidset_stu();//輸入信息的函數(shù)voidbegin();//在一開始就運(yùn)行的函數(shù)intput_stu(intz);//輸出第z個數(shù)據(jù)voidreturn_record();//返回記錄號其中voidface();voidprinter_1();voidprinter_2();三個函數(shù)主要是輸出界面,voidface()函數(shù)是主菜單界面,而voidprinter_1();voidprinter_2();分別是最后查詢輸出的報(bào)頭和報(bào)表。voidmenu();函數(shù)用do_while循環(huán)控制對變量n的輸入是否正確。如果正確進(jìn)入switch循環(huán),如果不正確那么返回錯誤信息,并且重新輸入。其中n的值為1-5,分別通過五個函數(shù)voidestablish();voidenter();voidsearch();voidreturn_record();exit();執(zhí)行以下五個模塊:1.初始化模塊;2.數(shù)據(jù)輸入模塊;3.查詢模塊;4.查詢記錄模塊;5.退出程序。voidestablish();首先進(jìn)行參賽學(xué)??倲?shù),男子競賽工程數(shù),女子競賽工程數(shù)的初始化,函數(shù)用do_while循環(huán)控制對變量j的輸入是否正確。如果正確進(jìn)入switch循環(huán),如果不正確那么返回錯誤信息,并且重新輸入。其中j的值為1-3,因?yàn)閖是全局變量,j是用戶自定義工程權(quán)值的選項(xiàng),如果j的值為1或2,在建立是通過j調(diào)用mark()函數(shù)對權(quán)值進(jìn)行定義,如果j的值為3,那么調(diào)用voiddefined_by_user();函數(shù),用戶可以自由定義權(quán)值。voidenter();通過y變量控制輸入前一定要初始化,輸入時調(diào)用voidset_stu();函數(shù),通過do_while判斷是否繼續(xù)輸入信息。voidsearch();函數(shù)用do_while循環(huán)控制對變量t的輸入是否正確。如果正確進(jìn)入switch循環(huán),如果不正確那么返回錯誤信息,并且重新輸入。其中t的值為1-5,分別通過五個函數(shù)search_by_school();search_by_item();search_by_student();search_by_all();menu();執(zhí)行以下五個功能:1.按學(xué)校名查詢;2.按工程查詢;3.按學(xué)生查詢;4.查詢?nèi)啃畔ⅲ?.返回主菜單。voidsearch_by_item();voidsearch_by_school();voidsearch_by_student();三個函數(shù)的結(jié)構(gòu)幾乎相同,首先用二進(jìn)制文件輸入輸出定義對象名為iofile,再定位get指針在文件開頭,定義一個字符串?dāng)?shù)組,對這個字符串輸入數(shù)據(jù),通過循環(huán)對所有現(xiàn)有數(shù)據(jù)的stu[t].item和字符串?dāng)?shù)組進(jìn)行匹配,如果成功那么返回該條記錄。voidsearch_by_all();首先用二進(jìn)制文件輸入輸出定義對象名為iofile,再定位get指針在文件開頭,用for循環(huán)逐條輸出已有記錄。voidmark();利用全局變量j,對權(quán)值進(jìn)行三種不同的賦值,j=1時按第一種方式賦值,當(dāng)j=2時,按第二種方式賦值,j=3時用戶自定義權(quán)值。voiddefined_by_user();通過for循環(huán)對全局變量p[15],q[15]進(jìn)行賦值,其中p[15]是用于存放排名第幾的數(shù)組,q[15]是用于存放得分為幾的數(shù)組。voidset_stu();先輸入到內(nèi)存,然后用二進(jìn)制文件輸出流,輸出到"data.dat"文件。voidbegin();在主函數(shù)的開始就調(diào)用,所以稱之為begin函數(shù),其作用是將stu[]的前十二個數(shù)據(jù)輸出到"data.dat"文件。并且給全局變量賦值為12.intput_stu(intz);形參z是記錄號,輸出第z個記錄的各項(xiàng),并且規(guī)定了輸出的長度,以利于最終輸出時報(bào)表的形式。voidreturn_record();返回共有幾條記錄,和第幾條記錄的長度是多少。在此應(yīng)該特別說明一下begin()函數(shù),為了防止數(shù)據(jù)的喪失我在結(jié)構(gòu)體后以結(jié)構(gòu)體數(shù)組方式直接初始化了12個數(shù)據(jù),并且在begin函數(shù)中將這12個數(shù)據(jù)寫入data文件中,在程序運(yùn)行時,我將這兩個地方注釋掉了,如果數(shù)據(jù)喪失,將其注釋取消,編譯連接后即可恢復(fù)數(shù)據(jù)!以上是所有函數(shù)的功能。開始開始Data.dat文件,Data.dat文件,Data1.dat文件是否存在N建立Data.dat文件Data1.dat文件YY翻開翻開Data.1dat文件輸入i變量輸入i變量關(guān)閉關(guān)閉Data1.dat文件翻開翻開Data.dat文件t=0t=0t是否小于iYt是否小于iY將數(shù)據(jù)讀入s[i]結(jié)構(gòu)體數(shù)組中將數(shù)據(jù)讀入s[i]結(jié)構(gòu)體數(shù)組中t++NN關(guān)閉關(guān)閉Data1.dat文件退出退出begin()函數(shù)的流程圖begin()函數(shù)的流程圖開始開始調(diào)用調(diào)用set_s(i);函數(shù)i++輸入t變量輸入t變量調(diào)用set_s(i);函數(shù)調(diào)用set_s(i);函數(shù)i++Yt是否等于1YYNN翻開翻開Data1.dat文件寫入i變量寫入i變量關(guān)閉Data關(guān)閉Data1.dat文件調(diào)用menu()函數(shù)退出退出enterenter()函數(shù)的流程圖開始開始輸入t判斷t輸入t判斷t調(diào)用search_by_name()函數(shù)調(diào)用search_by_school()函數(shù)調(diào)用search_by_item()函數(shù)t=4t=1t=3t=5t=2調(diào)用search_by_all()函數(shù)調(diào)用menu()函數(shù)退出退出searchsearch()函數(shù)的流程圖輸入字符串a(chǎn)假設(shè)不相等指向下一條記錄t++開始輸入字符串a(chǎn)假設(shè)不相等指向下一條記錄t++開始判斷數(shù)據(jù)是否與輸入字符串a(chǎn)相等調(diào)用put_stu(p)函數(shù)且指向下一條記錄調(diào)用menu〔〕函數(shù)t=0t是否小于i退出退出SSearch_by_name;函數(shù)等的流程圖運(yùn)行結(jié)果主菜單的界面用戶自定義權(quán)值界面主菜單的界面用戶自定義權(quán)值界面初始化界面初始化界面按工程查詢界面按學(xué)生查詢界面按工程查詢界面按學(xué)生查詢界面按學(xué)校查詢界面按學(xué)校查詢界面查詢?nèi)坑涗洸樵內(nèi)坑涗浶畔⒌妮斎胄畔⒌妮斎胄录訑?shù)據(jù)后的全部信息新加數(shù)據(jù)后的全部信息新加數(shù)據(jù)后的記錄個數(shù)和記錄長度新加數(shù)據(jù)后的記錄個數(shù)和記錄長度5課程設(shè)計(jì)總結(jié)這次是我第一次做課程設(shè)計(jì),收獲很多,遇到了很多從沒遇見的問題,通過上網(wǎng)查詢,借閱書籍,解決了一局部問題,提高了動手編程的能力,對于c++這門課程也有了新的認(rèn)識,紙上得來終覺淺,絕知此事要躬行。對于這次的課程設(shè)計(jì)功能根本都實(shí)現(xiàn)了,學(xué)校和男女工程的初始化,數(shù)據(jù)的輸入,數(shù)據(jù)的查詢,而且新增了查詢所有信息,和按學(xué)生查詢,查詢記錄條數(shù)和每個記錄的長度。界面和最后輸出的報(bào)表做的格式很好。再經(jīng)過仔細(xì)考慮后,此程序有了儲存功能,主要是通過data2文件保存全局變量i,這樣就可以知道數(shù)據(jù)中有幾條記錄了。i的值是在enter函數(shù)中改變的,所以每次調(diào)用enter函數(shù)后,都將全局變量i寫入data2文件〔以覆蓋方式〕。但是也有很多的缺乏,希望同學(xué)和老師進(jìn)行指正。以下是我個人發(fā)現(xiàn)的幾點(diǎn)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年墻板生產(chǎn)智能控制系統(tǒng)行業(yè)深度調(diào)研及發(fā)展戰(zhàn)略咨詢報(bào)告
- 2025-2030年打印機(jī)大幅面打印行業(yè)跨境出海戰(zhàn)略研究報(bào)告
- 2025-2030年臺球俱樂部管理軟件行業(yè)深度調(diào)研及發(fā)展戰(zhàn)略咨詢報(bào)告
- 兩類具有時滯的反應(yīng)擴(kuò)散疾病模型的動力學(xué)性質(zhì)
- 基于深度學(xué)習(xí)的多標(biāo)簽文本分類方法研究與實(shí)現(xiàn)
- 內(nèi)蒙古絨山羊早期生長性狀的基因組選擇研究
- 本地寄生蜂和東北越冬代異色瓢蟲對貴州高粱蚜的生物防治潛能研究
- 基于功能化金屬有機(jī)框架納米材料對駱駝肉中動物源性成分鑒別研究
- 社區(qū)人群腦類淋巴系統(tǒng)功能與腦損傷相關(guān)性研究
- 中學(xué)生解釋水平對學(xué)業(yè)投入的影響
- 體育館改造裝修工程施工組織設(shè)計(jì)
- 137案例黑色三分鐘生死一瞬間事故案例文字版
- 山東省德州市德城區(qū)2023-2024學(xué)年八年級下學(xué)期期末考試數(shù)學(xué)試卷(含答案)
- 【魔鏡洞察】2024藥食同源保健品滋補(bǔ)品行業(yè)分析報(bào)告
- 醫(yī)院運(yùn)營管理案例-北大國際醫(yī)院-利用精益管理提升患者體驗(yàn)
- 2024-2030年中國潤滑油行業(yè)發(fā)展趨勢與投資戰(zhàn)略研究報(bào)告
- 《洗煤廠工藝》課件
- 鋼結(jié)構(gòu)工程施工(第五版) 課件 2項(xiàng)目四 高強(qiáng)度螺栓
- 機(jī)票預(yù)訂行業(yè)營銷策略方案
- 大學(xué)生就業(yè)指導(dǎo)(高等院校學(xué)生學(xué)習(xí)就業(yè)指導(dǎo)課程)全套教學(xué)課件
- 謝爾塔拉露天煤礦變更環(huán)評
評論
0/150
提交評論