C面向?qū)ο蟪绦蛟O(shè)計大作業(yè)_第1頁
C面向?qū)ο蟪绦蛟O(shè)計大作業(yè)_第2頁
C面向?qū)ο蟪绦蛟O(shè)計大作業(yè)_第3頁
C面向?qū)ο蟪绦蛟O(shè)計大作業(yè)_第4頁
C面向?qū)ο蟪绦蛟O(shè)計大作業(yè)_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、學(xué) 號: C+面向?qū)ο蟪绦蛟O(shè)計大作業(yè)題 目學(xué) 院專 業(yè)信息工程班 級姓 名王繼文指導(dǎo)教師2015年11月15日目錄一 大作業(yè)的目的1二 大作業(yè)的內(nèi)容1三 大作業(yè)的要求與數(shù)據(jù)2四 大作業(yè)應(yīng)完成的工作2五 總體設(shè)計(包含幾大功能模塊)2六 詳細(xì)設(shè)計(各功能模塊的具體實現(xiàn)算法流程圖)3七 調(diào)試分析(包含各模塊的測試用例,及測試結(jié)果)5八 總結(jié)18九 參考資料19一 大作業(yè)的目的面向?qū)ο蟪绦蛟O(shè)計是一門實踐性很強(qiáng)的課程,通過大作業(yè)不僅可以全方位檢驗學(xué)生知識掌握程度和綜合能力,而且還可以進(jìn)一步加深、鞏固所學(xué)課程的基本理論知識,理論聯(lián)系實際,進(jìn)一步培養(yǎng)自己綜合分析問題和解決問題的能力。更好地掌握運用C+語言

2、獨立地編寫、調(diào)試應(yīng)用程序和進(jìn)行其它相關(guān)設(shè)計的技能。二 大作業(yè)的內(nèi)容 (1) 初始化輸入:N-參賽院系總數(shù),M-男子競賽項目數(shù),W-女子競賽項目數(shù);(2) 各項目名次取法有如下幾種:取前5名:第1名得分 7,第2名得分 5,第3名得分3,第4名得分2,第5名得分 1; (3) 由程序提醒用戶填寫比賽結(jié)果,輸入各項目獲獎運動員的信息。(4) 所有信息記錄完畢后,用戶可以查詢各個院系或個人的比賽成績,生成團(tuán)體總分報表,查看參賽院系信息、獲獎運動員、比賽項目信息等。三 大作業(yè)的要求與數(shù)據(jù)1、用C+語言實現(xiàn)系統(tǒng);2、由程序提醒用戶填寫比賽結(jié)果,輸入各項目獲獎運動員的信息。所有信息記錄完畢后,用戶可以查詢

3、各個院系或個人的比賽成績,生成團(tuán)體總分報表,查看參賽院系信息、獲獎運動員、比賽項目信息等。3、各項目名次取法有如下幾種:取前5名:第1名得分 7,第2名得分 5,第3名得分3,第4名得分2,第5名得分 1。四 大作業(yè)應(yīng)完成的工作(1)編寫算法;(2)算法測試,并有具體的測試結(jié)果和結(jié)果分析;(3)撰寫大作業(yè)報告。內(nèi)容包括:1) 封面扉頁2) 設(shè)計任務(wù)書3) 目錄4) 總體設(shè)計方案(包括流程圖)5) 使用說明及運行實例(包括界面)6) 成員設(shè)計內(nèi)容簡介7) 項目源程序代碼(注意注釋的使用)8) 指導(dǎo)教師評語五 總體設(shè)計(包含幾大功能模塊)本文研究開發(fā)的運動會管理系統(tǒng)用于支持用于查詢各個學(xué)校在運動會

4、中的成績。有幾種目標(biāo): 1.支持輸入各個項目的基本信息;2可以按比賽項目編號或名稱查詢、刪除、修改信息。3可以按運動員編號或姓名查詢、刪除、修改信息4數(shù)據(jù)輸入信息并能隨時查詢 六 詳細(xì)設(shè)計(各功能模塊的具體實現(xiàn)算法流程圖)開始信息錄入信息修改信息查詢信息輸出信息刪除 結(jié)束6.1各函數(shù)的功能和實現(xiàn)1.本實驗中,對不同的對象采取不同的存儲結(jié)構(gòu),對比賽項目采取鏈?zhǔn)浇Y(jié)構(gòu),而對于參賽運動員采取一個結(jié)構(gòu)就可以了。本程序中主要用到線性表的一些基本操作,將比賽項目信息,運動員信息,賽事信息都構(gòu)造成線性表。具體功能通過主函數(shù)分別調(diào)用各函數(shù)實現(xiàn)。2.參考本實驗的功能要求,本程序分為七個模塊:主函數(shù)、信息錄入函數(shù)、

5、信息修改函數(shù)、信息刪除函數(shù)、信息查詢函數(shù),信息輸出函數(shù)。3.信息錄入函數(shù)有包括比賽項目信息錄入函數(shù)(包括比賽編號、名稱等),運動員信息錄入函數(shù)(運動員的編號、姓名、性別、年齡、工作單位或省份)、比賽賽事信息錄入函數(shù)(某運動員參加某比賽項目,成績、名次)。4.信息修改函數(shù)包括比賽項目、運動員信息、賽事信息修改。5.信息查詢函數(shù)包括根據(jù)比賽項目、運動員編號進(jìn)行查修6.信息輸出函數(shù)包括比賽項目、運動員信息、賽事信息輸出等。7.退出系統(tǒng):可用一個函數(shù)exit()來實現(xiàn),首先將信息保存到文件中,釋放動態(tài)創(chuàng)建的內(nèi)存空間,再退出此程序。如圖6.1結(jié)束開始輸出菜單根據(jù)菜單輸入n的值選擇程序輸入退出輸出查找插入

6、刪除 圖 6.1七 調(diào)試分析(包含各模塊的測試用例,及測試結(jié)果) 7.1主函數(shù)#include<iostream>#include<fstream>#include<string>using namespace std;void fun1() cout<<"*"<<endl; cout<<endl; cout<<"*學(xué)校運動會管理系統(tǒng)*"<<endl;cout<<"-數(shù)據(jù)錄入 請按:1-"<<endl;cout<

7、;<"-數(shù)據(jù)修改 請按:2-"<<endl;cout<<"-數(shù)據(jù)刪除 請按:3-"<<endl;cout<<"-數(shù)據(jù)查詢 請按:4-"<<endl;cout<<"-數(shù)據(jù)顯示 請按:5-"<<endl;cout<<"-退出系統(tǒng) 請按:6-"<<endl;cout<<endl;cout<<"*"<<endl;cout<<

8、endl;cout<<"*請輸入一個數(shù)據(jù),并按回車鍵!*"<<endl;class Matchpublic:Match *next;/為創(chuàng)建鏈表做準(zhǔn)備int number; /比賽項目編號char call10; /比賽項目名稱char time10; /比賽時間char place20; /比賽地點 friendvoid input1();7.2輸入相關(guān)信息void input1() ofstream fout("e:比賽項目.dat",ios:app);char ch;Match a;do cout<<"

9、請分別輸入比賽項目編號、名稱、比賽時間、比賽地點."<<endl; cin>>a.number>>a.call>>a.place>>a.time; a.next=NULL; fout.write(char *)&a,sizeof(Match); cout<<"是否繼續(xù)輸入,如果繼續(xù)鍵入Y|y"<<endl; cin>>ch;while(ch='y'|ch='Y'); fout.close();Match *head1;void c

10、reat() head1=NULL; Match *p,*q=head1; ifstream fin("e:比賽項目.dat",ios:in); if(!fin) cout<<"文件打開失敗!"<<endl; exit(0); p=new Match; fin.read(char*)p,sizeof(Match); while(!fin.eof() if(head1=NULL) head1=p; else q->next=p;q=p; p=new Match; fin.read(char*)p,sizeof(Match);

11、fin.close(); 7.3信息修改int change1() /對比賽項目相關(guān)信息修改cout<<"您正在進(jìn)行修改比賽項目有關(guān)事項操作!"<<endl;creat(); Match *p1; p1=head1;cout<<"請輸入要修改比賽項目的編號:"<<endl;int number1; /要修改的比賽項目編號int sign=0; /設(shè)置的標(biāo)記變量cin>>number1;while(p1!=NULL) if(p1->number=number1) sign=1;break;

12、p1= p1->next; if (sign=0)cout<<"沒有找到要修改的記錄!"<<endl; elsecout<<"請選擇要修改比賽項目的那些信息"<<endl;cout<<"-修改比賽項目的編號-1"<<endl;cout<<"-修改比賽項目的名稱-2"<<endl;cout<<"-修改比賽時間-3"<<endl;cout<<"-修改比賽

13、地點-4"<<endl;cout<<"請輸入對應(yīng)信息的編號"<<endl;int a;int nu; /新的整形數(shù)據(jù)char info20; /新的字符數(shù)組cin>>a;switch(a)case 1:cout<<"請輸入新的比賽編號:"<<endl; cin>>nu; p1->number=nu; cout<<"比賽項目編號修改成功!"<<endl; break; case 2:cout<<&quo

14、t;請輸入新的比賽項目名稱:"<<endl;cin>>info; strcpy(p1->call,info);cout<<"比賽項目名稱修改成功!"<<endl; break; case 3:cout<<"請輸入新的比賽時間:"<<endl;cin>>info;strcpy(p1->time,info);cout<<"比賽項目時間修改成功!"<<endl; break; case 4:cout<<

15、;"請輸入新的比賽地點:"<<endl;cin>>info;strcpy(p1->place,info);cout<<"比賽項目地點修改成功!"<<endl; break;ofstream fout("e:比賽項目.dat",ios:out);p1=head1; while(p1!=NULL) fout.write(char*)p1,sizeof(Match); p1=p1->next; fout.close(); return 0;7.4信息刪除int delete1()

16、/對比賽項目相關(guān)信息進(jìn)行刪除 creat(); Match *p1,*p2; p2=p1=head1;cout<<"請選擇要刪除比賽項目的那些信息"<<endl;cout<<"-刪除比賽項目的編號-1"<<endl;cout<<"-刪除比賽項目的名稱-2"<<endl; cout<<"請輸入對應(yīng)信息的編號"<<endl; int n;cin>>n; int num,flag=0; char cal10; sw

17、itch(n) case 1: cin>>num; while(p1!=NULL) if(p1->number=num) flag=1;break; p2=p1; p1= p1->next; if (flag=0) cout<<"沒有找到要刪除的記錄!"<<endl; else p2->next=p1->next;case 2: cin>>cal; while(p1!=NULL) if(!strcmp(p1->call,cal) flag=1;break; p2=p1; p1= p1->ne

18、xt; if (flag=0) cout<<"沒有找到要刪除的記錄!"<<endl; else p2->next=p1->next; ofstream fout("e:比賽項目.dat",ios:out); p1=head1;while(p1!=NULL) fout.write(char*)p1,sizeof(Match);p1=p1->next; fout.close();return 0; 7.5信息查詢void print1() creat(); Match *p1=head1; cout<<&

19、quot;請分別輸出比賽項目編號、名稱、比賽時間、比賽地點."<<endl;while(p1!=NULL) cout<<p1->number<<'t'<<p1->call<<'t'<<p1->time<<'t'<<p1->place<<endl; p1=p1->next; void find1() creat(); Match *p1; p1=head1; int sign=0;/設(shè)置的標(biāo)記變量 co

20、ut<<"請選擇要查詢比賽項目的哪些信息"<<endl;cout<<"-按比賽項目的編號查詢-1"<<endl;cout<<"-按比賽項目的名稱查詢-2"<<endl;cout<<"-按比賽時間查詢-3"<<endl;cout<<"-按比賽地點查詢-4"<<endl;cout<<"請輸入對應(yīng)信息的編號"<<endl;int a;int

21、 nu; /查詢整形數(shù)據(jù)條件char info20; /查詢字符型數(shù)據(jù)條件cin>>a;switch(a)case 1:cout<<"請輸入要查詢的比賽編號:"<<endl; cin>>nu; while(p1!=NULL) if(p1->number=nu) sign=1;break; p1= p1->next; if (sign=0) cout<<"沒有找到要查詢的記錄!"<<endl; else cout<<p1->number<<&#

22、39;t'<<p1->call<<'t'<<p1->time<<'t'<<p1->place<<endl; break; case 2:cout<<"請輸入要查詢的比賽項目名稱:"<<endl;cin>>info; while(p1!=NULL) if(p1->call=info) sign=1;break; p1= p1->next; if (sign=0) cout<<"沒

23、有找到要查詢的記錄!"<<endl; else cout<<p1->number<<'t'<<p1->call<<'t'<<p1->time<<'t'<<p1->place<<endl; break; case 3:cout<<"請輸入要查詢的比賽時間:"<<endl;cin>>info;while(p1!=NULL) if(!strcmp(p1-&g

24、t;time,info) sign=1;break; p1= p1->next; if (sign=0) cout<<"沒有找到要查詢的記錄!"<<endl; else cout<<p1->number<<'t'<<p1->call<<'t'<<p1->time<<'t'<<p1->place<<endl; break; case 4:cout<<"請輸入要

25、查詢的比賽地點:"<<endl;cin>>info;while(p1!=NULL) if(!strcmp(p1->place,info) sign=1;break; p1= p1->next; if (sign=0) cout<<"沒有找到要查詢的記錄!"<<endl; else cout<<p1->number<<'t'<<p1->call<<'t'<<p1->time<<'t'<<p1->place<<

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論