C++歌手大獎賽管理系統(tǒng)_第1頁
C++歌手大獎賽管理系統(tǒng)_第2頁
C++歌手大獎賽管理系統(tǒng)_第3頁
已閱讀5頁,還剩10頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、#in clude<iostream> #in clude<stri ng> #in clude<fstream> #in cludevioma nip> using n amespace std; class sin ger/ protected: int no; / char n ame20;/char sex10;/int age; / 年齡 char son g20;/char departme nt30;char program30; / char time20;/char place20; /歌手類的定義編號姓名性別參賽曲目/選送單位比賽項

2、目名稱比賽時間比賽地點int score; /sin ger *myn ext;/public:sin ger();/比賽成績指向下一個歌手的指針歌手類無參構(gòu)造函數(shù)的定義sin ger(i nt pnu m,char pn ame,char psex,i nt page,char pson g,char pdepart,char program,char time,char place,i nt score); / 參構(gòu)造函數(shù)的定義歌手類有sin ger(i nt pnu m,char pn ame,char psex,i nt page,char pson g,char pdepart,ch

3、ar program,char time,char place,i nt score,s in ger *n ext);/歌手類有參構(gòu)造函數(shù)的定義提取員歌手參賽曲目函數(shù)的定義提取歌手選送單位函數(shù)的定義提取比賽項目名稱函數(shù)的定義提取比賽時間函數(shù)的定義提取比賽地點函數(shù)的定義提取比賽成績函數(shù)的定義提取指向下一個歌手指針函數(shù)的定義/設(shè)置指向下一個歌手指針函數(shù)的定義輸出歌手信息函數(shù)的定義 輸出賽事信息函數(shù)的定義輸出全部信息函數(shù)的定義int get nu m();/char *get name() ;/char *getsex();/int getage();/void getagee(i nt as);

4、/void getscoree(i nt ak);char *gets on g();/char *getdepart(); / char *getprogram();/char *gettime();/char *getplace();/int getscore();/sin ger *get next();/void set next(s in ger *n ext); void output1(); / void output2(); / void output(); /提取歌手編號函數(shù)的定義提取歌手名字函數(shù)的定義提取歌手性別函數(shù)的定義提取歌手年齡函數(shù)的定義設(shè)置歌手年齡函數(shù)的定義歌手類無

5、參構(gòu)造函數(shù);sin ger:s in ger()/no=0;strcpy (n ame,"");strcpy(sex,"");age=0;strcpy(so ng,"");strcpy(departme nt,"");strcpy(program,""); strcpy(time,"");strcpy(place,"");score=0;myn ext=NULL;歌手類有參構(gòu)造sin ger:s in ger(i nt pnu m,char pn ame,

6、char psex,i nt page,char pson g,char pdepart,char pprogram,char ptime,char pplace,i nt pscore) / 函數(shù)no=pnum;strcpy( name,p name);strcpy(sex,psex);age=page;strcpy(s on g,ps on g);strcpy(departme nt,pdepart);strcpy(program,pprogram);strcpy(time,ptime);strcpy(place,pplace);score=pscore;myn ext=NULL;sin

7、ger:s in ger(i nt pnu m,char pn ame,char psex,i nt page,char pson g,char pdepart,char pprogram,char ptime,char pplace,i nt pscore,s in ger *n ext) / 歌手類有參構(gòu)造函數(shù)no=pnum;strcpy( name,p name);strcpy(sex,psex);age=page;strcpy(s on g,ps on g);strcpy(departme nt,pdepart);strcpy(program,pprogram);strcpy(time

8、,ptime);strcpy(place,pplace);score=pscore;myn ext=n ext;int sin ger:get num() retur n no; char *sin ger:get name() return n ame; char *sin ger:getsex() retur n sex; char *sin ger:gets on g() retur n son g; char *sin ger:getdepart() retur n departme nt; int sin ger:getage() retur n age; char *si nger

9、:getprogram()return program; char *si nger:gettime()return time; char *si nger:getplace()return place; int si nger:getscore()return score; void sin ger:getagee(i nt as) age=as; void sin ger:getscoree(i nt ak)score=ak; void sin ger:set next(s in ger *n ext) myn ext=n ext; sin ger *sin ger:get next()

10、return myn ext; void sin ger:output1()cout«"編號:"<<no<<endl; cout«"姓名:"<<name<<endl;coutvv"'性另 H:"<<sex<<e ndl; cout«"年齡:"<<age<<endl;cout«"參賽歌曲:"<<song«endl; coutvv&qu

11、ot;選送單位:"<<department<<endl; void sin ger:output2() coutvv"比賽項目:"vvprogramvvendl; coutvv"姓名:"v<name<<endl;coutvv"比賽時間:"vvtimevvendl; coutvv"比賽地點:"vvplacevvendl; coutvv"得分:"vvscorevvendl;void sin ger:output()coutvv" 編號:&

12、quot;v vno vve ndl; coutvv"姓名:"vvnamevvendl;coutvv"'性另寸:"vvsexvve ndl; coutvv"年齡:"vvagevvendl;coutvv"參賽歌曲:"vvsongvvendl;coutvv"選送單位:"vvdepartmentvvendl; coutvv"比賽項目:"vvprogramvvendl; coutvv"比賽時間:"vvtimevvendl; coutvv"比賽地點

13、:"vvplacevvendl; coutvv"得分:"vvscorevvendl;class operate:public sin ger private:bool findnum();/bool fin dprogram();bool modify(); / bool deletes in ger();void save();/void showa();/void showb(); /singer *myfirst; / 指向歌手鏈表中結(jié)點的指針public:operate。;/operate類無參構(gòu)造函數(shù)的定義operate© nt nnu m,c

14、har nn ame,char n sex,i nt n age,char nson g,char n depart,char n program,char n time,char n place,i nt n score);operate();/operate類析構(gòu)函數(shù)的定義void load(); /從文件中加載歌手信息void add(); /增加歌手信息void in put( int number); /鍵盤輸入新歌手基本信息void in sert(i nt nnu m,char nn ame,char n sex,i nt n age,char nson g,char n dep

15、art,char n program,char n time,char n place,i nt n score);按編號查詢歌手信息/按項目名稱查詢賽事信息修改歌手信息/刪除歌手信息歌手信息存盤顯示所有歌手信息顯示比賽賽事。;operate:operate ()/operate類無參構(gòu)造函數(shù)的實現(xiàn) myfirst=NULL; 類帶參operate:operate(i nt nnu m,char nn ame,char n sex,i nt n age,char nson g,char n depart,char n program,char n time,char n place,i nt

16、n score) /operate 數(shù)構(gòu)造函數(shù)的實現(xiàn) myfirst=newsinger(nnum,nn ame ,n sex ,n age ,nsong,n depart ,n program ,n time ,n place ,n score); operate:operate()/operate類析構(gòu)函數(shù)的實現(xiàn)sin ger *n ext=myfirst,*temp;while( next!=NULL)temp=n ext;n ext=n ext->get next();delete temp;myfirst=NULL;void operate:load() /從文件中加載歌手信息

17、int nnum,n age;float n score;charnn ame20, nsex20, nso ng20, ndepart20, nprogram20, ntime20, nplace20; ifstream f1("s in ger.txt",ios:i n);while(f1.good()f1> >nnum>>nn ame> >n sex> >n age> >nsong>>n depart>n program >>n time> >n place>n

18、 score; if(!(f1.eof()in sert (nnum,nn ame ,n sex ,n age ,nsong,n depart ,n program ,n time ,n place ,n score);f1.close();cout«endl<<"存儲在文件中的學(xué)校人員信息已加載到系統(tǒng)中"<<endl;void operate:add() /增加新歌手int num,n1,n2;sin ger *p=myfirst;if(p=NULL)coutvv"目前無歌手,請輸入新歌手的編號:"cin»n

19、um;in put( nu m);elseif(p->get next()=NULL)n 1=p->get num ()+1;in put( n1);elsewhile(p->get next()!=NULL)p=p->get next();n 2=p->get num ()+1;in put (n 2); void operate:i nput(i nt number) /鍵盤輸入新歌手基本信息int n age;int n score;charnn ame20, nsex20, nso ng20, ndepart20, nprogram20, ntime20,

20、 nplace20;coutvv"請輸入編號為"<<numbervv"的歌手信息"<<endl;coutvv"輸入姓名:"cin>>nname;coutvv"輸入性別:"cin>>nsex;coutvv"輸入年齡:"cin>>nage;coutvv"輸入?yún)①惛枨?quot;ci nn so ng;coutvv" 選送單位:"ci n>>n depart;cout«"比賽項目

21、cout«"比賽時間cout«"比賽地點"ci n»n program;"ci n>>n time;"ci n»n place;coutvv"得分:"cin>>nscore;in sert( nu mber, nn ame, nsex, nage, nsong,n depart, nprogram, ntime, nplace, nscore); void operated nsert(i nt nnu m,char nn ame,char n sex,i nt

22、 n age,char nson g,charn depart,char n program,char n time,char n place,i nt n score)sin ger *p=myfirst;if(p=NULL)myfirst=newsinger(nnum,nn ame ,n sex ,n age ,nsong,n depart ,n program ,n time ,n place ,n score);elsewhile(p->get next()!=NULL) p=p->get next();p->set next (newsin ger( nnu m,

23、nn ame ,n sex, nage, nson g, ndepart, nprogram, ntime ,n place ,n score,p->get nex t();bool operate:fi ndnum() /按編號查詢歌手信息int id;sin ger *s=myfirst;sin ger *f=s;coutvv"請輸入歌手的編號:"cin>>id;if(s=NULL) coutvv"本系統(tǒng)暫無歌手信息!"<<endl; return false; elsewhile(s!=NULL)if(s->ge

24、t num( )=id) s->output1(); return true; else f=s; s=s->get next(); coutvv"無此歌手信息!"<<endl;return false;bool operate:fi ndprogram() /按比賽項目查詢賽事信息char tmpprogram20;sin ger *s=myfirst;sin ger *f=s;coutvv"請輸入比賽項目:"cin> >tmpprogram;if(s=NULL) cout«" 本系統(tǒng)暫無項目信息

25、! "<<e ndl; return false; else while(s!=NULL) if(strcmp(s->getprogram(),tmpprogram)=0) s->output2(); return true; f=s; s=s->get next();cout«"本系統(tǒng)無此項目信息! "<<endl;return false;bool operate:modify() /修改歌手信息int nu mber;sin ger *s=myfirst;sin ger *f=s;coutvv"請

26、輸入要修改的歌手編號:"cin>>number;if(s=NULL)coutvv"無此歌手!"<<endl; return false; elsewhile(s!=NULL)if(s->get num()=nu mber)s->output();while(1)int i;float tmp nu mber;char temp30;coutvv"請選擇要修改的歌手信息:"<<e ndl;coutvv"1:姓名2:性別3:年齡4:參賽曲目5:選送單位6:比賽項目7:比賽時間8:比賽地點9:

27、得分"vvendl;coutvv"請選擇(19)中的選項:"cin>>i;switch(i)case 1: coutvv"輸入修改姓名:"ci n> >temp;strcpy(s->get name(),temp); ; break;case 2: coutvv"輸入修改性別:"ci n> >temp;strcpy(s->getsex(),temp); ;break;case 3: cout«"輸入修改年齡:"ci n> >tmp nu

28、 mber;s->getagee(tmp nu mber); ;break;case 4: cout<<"輸入修改參賽歌曲:"ci n> >temp;strcpy(s->gets on g(),temp); ;break;case 5: cout<<"輸入修改選送單位:"ci n> >temp;strcpy(s->getdepart(),temp);break;case 6: cout<<"輸入修改比賽項目:"cin>>temp;strcpy(s

29、->getprogram(),temp);break;case 7: cout<<"輸入修改比賽時間:"ci n> >temp;strcpy(s->gettime(),temp);break;case 8: cout<<"輸入修改比賽地點:"ci n> >temp;strcpy(s->getplace(),temp);break;case 9: cout<<"輸入修改得分:"ci n> >tmp nu mber;s->getscoree(t

30、mp nu mber); ;break; return true;else s=s->get next(); f=s; coutvv"沒有此編號的歌手!"<<endl;return false;bool operate:deletesi nger( ) /刪除歌手信息int i;sin ger *s=myfirst;sin ger *f=s;coutvv"請輸入要刪除歌手的編號:"cin>>i;if(s=NULL)coutvv"無歌手可以刪除"return false; else if(s->get

31、 num ()=i)myfirst=myfirst->get next();coutvv" 編號為"<<ivv"的歌手已被刪除了 !"<<endl; delete s;return true;elses=s->get next();while(s!=NULL)if(s->get num ()=i)f->set next(s->get next();coutvv"編號為"vvivv"的成員已被刪除n"delete s;return true;f=s;s=s->

32、;get next();coutvv"要刪除的歌手不存在,無法刪除!"<<endl;return false;void operate:save() /歌手信息存盤ofstream f2("si nger.txt",ios:out);sin ger *p=myfirst;while(p)t"<<p->gets on g()vv"t"vvp->getdepart()vv"t"vvp->getprogram()vv"t"vvp->gettim

33、e()<<%"<<卩->96上卩力。6()<<%"<<卩->96上$。09<<6 ndl;p=p->get next();f2.close();coutvv" 保存數(shù)據(jù)已經(jīng)完成"<<endl;void operate:showa( ) /顯示所有歌手信息sin ger *s=myfirst;cout<<setw(8)vv" 編號"<<setw(8)vv"姓名"<<setw(8)vv"

34、;性別"<<setw(8)vv"年齡 "vvsetw(10)v<"參賽曲目"<<setw(12)vv"選送單位"<<endl;while(s!=NULL)cout<<setw(8)vvs->get num( )vvsetw(8)v<s->get name()v<setw(8)vvs->getsex()vvsetw(8)v<s->getage()vvsetw(10)vvs->gets on g()vvsetw(12)vvs-&

35、gt;getdepart()v<e nd l;s=s->get next();void operate:showb() /顯示所有賽事信息sin ger *s=myfirst;cout<vsetw(10)vv"參賽項目"<<setw(12)vv"參賽時間"<<setw(12)vv"參賽地點 "vvsetw(12)vv"得分"<<endl;while(s!=NULL)coutvvsetw(10)vvs->getprogram()vvsetw(12)vvs-&

36、gt;gettime()v<setw(12)vvs->getplac e()v<setw(12)vvs->getscore()vve ndl;s=s->get next();void menu() 主菜單cci 2刁iaaaaaaaaaaaaaaaaaaaaaaaaaaa"<<e ndl;cout«"*歡迎來到歌手信息管理系統(tǒng)<<e ndl;*、'cout«" *|*"<<e ndl;cci 2刁 *AAAAAAAAAAAAAAAAAAAAAAAAAAA*"<<e ndl; cout«"*"<<e ndl;cout«" *II操作:II*"<<e ndl;cout«" *II1.歌手?jǐn)?shù)據(jù)錄入II*"<<e ndl;cout«" *II2.增加新歌手II*"<<e

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論