C++歌手大奖赛管理系统_第1页
C++歌手大奖赛管理系统_第2页
C++歌手大奖赛管理系统_第3页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、ude<iostrea#include<string>#include<fstream>#include<iomanip>usingnamespacestd;歌手类的定义classsinger/(protected:编号姓名性别参赛曲目/选送单位比赛项目名称比赛时间比赛地点intno;/charname20;/charsex10;/intage;/年龄charsong20;/chardepartment30;charprogram30;/chartime20;/intscore;/singer*mynext;/public:singer();/char

2、place20;/比赛成绩指向下一个歌手的指针歌手类无参构造函数的定义歌手类singer(intpnum,charpname,charpsex,intpage,charpsong,charpdepart,charprogram,chartime,charplace,intscore);/有参构造函数的定义singer(intpnum,charpname,charpsex,intpage,charpsong,charpdepart,charprogram,chartime,charplace,intscore,singer*next);/歌手类有参构造函数的定义intgetnum();/提取歌手

3、编号函数的定义char*getname();/提取歌手名字函数的定义char*getsex();/提取歌手性别函数的定义intgetage();/提取歌手年龄函数的定义voidgetagee(intas);/voidgetscoree(intak);设置歌手年龄函数的定义char*getsong();/提取员歌手参赛曲目函数的定义char*getdepart();/提取歌手选送单位函数的定义char*getprogram();/提取比赛项目名称函数的定义char*gettime();/提取比赛时间函数的定义char*getplace();/提取比赛地点函数的定义intgetscore();/提

4、取比赛成绩函数的定义singer*getnext();/提取指向下一个歌手指针函数的定义voidsetnext(singer*next);/设置指向下一个歌手指针函数的定义voidoutput1();/输出歌手信息函数的定义voidoutput2();/输出赛事信息函数的定义voidoutput();/输出全部信息函数的定义;singer:singer()/歌手类无参构造函数(no=0;strcpy(name,"");strcpy(sex,"");age=0;strcpy(song,"");strcpy(department,&quo

5、t;");strcpy(program,"");strcpy(time,"");strcpy(place,"");score=0;mynext=NULL;singer:singer(intpnum,charpname,charpsex,intpage,charpsong,charpdepart,charpprogram,charptime,charpplace,intpscore)/歌手类有参构造函数(no=pnum;strcpy(name,pname);strcpy(sex,psex);age=page;strcpy(so

6、ng,psong);strcpy(department,pdepart);strcpy(program,pprogram);strcpy(time,ptime);strcpy(place,pplace);score=pscore;mynext=NULL;singer:singer(intpnum,charpname,charpsex,intpage,charpsong,charpdepart,charpprogram,charptime,charpplace,intpscore,singer*next)/歌手类有参构造函数(no=pnum;strcpy(name,pname);strcpy(s

7、ex,psex);age=page;strcpy(song,psong);strcpy(department,pdepart);strcpy(program,pprogram);strcpy(time,ptime);strcpy(place,pplace);score=pscore;mynext=next;intsinger:getnum()(returnno;char*singer:getname()(returnname;char*singer:getsex()(returnsex;char*singer:getsong()(returnsong;char*singer:getdepart

8、()(returndepartment;intsinger:getage()(returnage;char*singer:getprogram()(returnprogram;char*singer:gettime()(returntime;char*singer:getplace()(returnplace;intsinger:getscore()(returnscore;voidsinger:getagee(intas)(age=as;voidsinger:getscoree(intak)score=ak;voidsinger:setnext(singer*next)mynext=next

9、;singer*singer:getnext()returnmynext;voidsinger:output1()cout<<"编号:"<<no<<endl;cout<<”姓名:"<<name<<endl;cout<<"性别:"<<sex<<endl;cout<<"年龄:"<<age<<endl;cout<<"参赛歌曲:"<<song<

10、;<endl;cout<<"选送单位:"<<department<<endl;voidsinger:output2()cout<<"比赛项目:"<<program<<endl;cout<<”姓名:"<<name<<endl;cout<<"比赛时间:"<<time<<endl;cout<<"比赛地点:"<<place<<en

11、dl;cout<<"得分:"<<score<<endl;voidsinger:output()cout<<"编号:"<<no<<endl;cout<<”姓名:"<<name<<endl;cout<<"性别:"<<sex<<endl;cout<<"年龄:"<<age<<endl;cout<<"参赛歌曲:&qu

12、ot;<<song<<endl;cout<<"选送单位:"<<department<<endl;cout<<"比赛项目:"<<program<<endl;cout<<"比赛时间:"<<time<<endl;cout<<"比赛地点:"<<place<<endl;cout<<"得分:"<<score<&l

13、t;endl;classoperate:publicsinger(private:singer*myfirst;/指向歌手链表中结点的指针public:operate();/operate类无参构造函数的定义operate(intnnum,charnname,charnsex,intnage,charnsong,charndepart,charnprogram,charntime,charnplace,intnscore);operate();/operate类析构函数的定义voidload();/从文件中加载歌手信息voidadd();/增加歌手信息voidinput(intnumber);

14、/键盘输入新歌手基本信息voidinsert(intnnum,charnname,charnsex,intnage,charnsong,charndepart,charnprogram,charntime,charnplace,intnscore);boolfindnum();/boolfindprogram();boolmodify();/booldeletesinger();voidsave();/voidshowa();/voidshowb();/按编号查询歌手信息/按项目名称查询赛事信息修改歌手信息/删除歌手信息歌手信息存盘显示所有歌手信息显示比赛赛事。;类无参构造函数的实现opera

15、te:operate()/operate(myfirst=NULL;类带operate:operate(intnnum,charnname,charnsex,intnage,charnsong,charndepart,charnprogram,charntime,charnplace,intnscore)/operate参数构造函数的实现(myfirst=newsinger(nnum,nname,nsex,nage,nsong,ndepart,nprogram,ntime,nplace,nscore);operate:operate()/operate类析构函数的实现(singer*next=

16、myfirst,*temp;while(next!=NULL)(temp=next;next=next->getnext();deletetemp;myfirst=NULL;voidoperate:load()/从文件中加载歌手信息(intnnum,nage;floatnscore;charnname20,nsex20,nsong20,ndepart20,nprogram20,ntime20,nplace20;ifstreamf1("singer.txt”,ios:in);while(f1.good()f1>>nnum>>nname>>nse

17、x>>nage>>nsong>>ndepart>>nprogram>>ntime>>nplace>>nscore;if(!(f1.eof()insert(nnum,nname,nsex,nage,nsong,ndepart,nprogram,ntime,nplace,nscore);f1.close();cout<<endl<<”存储在文件中的学校人员信息已加载到系统中”<<endl;voidoperate:add()/增加新歌手intnum,n1,n2;singer*p=m

18、yfirst;if(p=NULL)cout<<"目前无歌手,请输入新歌手的编号:"cin>>num;input(num);elseif(p->getnext()=NULL)n1=p->getnum()+1;input(n1);elsewhile(p->getnext()!=NULL)p=p->getnext();n2=p->getnum()+1;input(n2);voidoperate:input(intnumber)/键盘输入新歌手基本信息intnage;intnscore;charnname20,nsex20,ns

19、ong20,ndepart20,nprogram20,ntime20,nplace20;cout<<"请输入编号为"<<number<<"的歌手信息"<<endl;cout<<"输入姓名:"cin>>nname;cout<<"输入性别:"cin>>nsex;cout<<"输入年龄:"cin>>nage;cout<<"输入参赛歌曲:"cin>

20、>nsong;cout<<"选送单位:"cin>>ndepart;cout<<"比赛项目:"cin>>nprogram;cout<<"比赛时间:"cin>>ntime;cout<<"比赛地点:"cin>>nplace;cout<<"得分:"cin>>nscore;insert(number,nname,nsex,nage,nsong,ndepart,nprogram,nt

21、ime,nplace,nscore);voidoperate:insert(intnnum,charnname,charnsex,intnage,charnsong,charndepart,charnprogram,charntime,charnplace,intnscore)singer*p=myfirst;if(p=NULL)myfirst=newsinger(nnum,nname,nsex,nage,nsong,ndepart,nprogram,ntime,nplace,nscore);elsewhile(p->getnext()!=NULL)p=p->getnext();p

22、->setnext(newsinger(nnum,nname,nsex,nage,nsong,ndepart,nprogram,ntime,nplace,nscore,p->getnext();booloperate:findnum()/按编号查询歌手信息intid;singer*s=myfirst;singer*f=s;cout<<"请输入歌手的编号:"cin>>id;if(s=NULL)cout<<"本系统暂无歌手信息!"<<endl;returnfalse;elsewhile(s!=NUL

23、L)if(s->getnum()=id)s->output1();returntrue;else(f=s;s=s->getnext();cout<<"无此歌手信息!"<<endl;returnfalse;booloperate:findprogram()/按比赛项目查询赛事信息(chartmpprogram20;singer*s=myfirst;singer*f=s;cout<<"请输入比赛项目:"cin>>tmpprogram;if(s=NULL)(cout<<"本

24、系统暂无项目信息!"<<endl;returnfalse;else(while(s!=NULL)(if(strcmp(s->getprogram(),tmpprogram)=0)(s->output2();returntrue;f=s;s=s->getnext();cout<<"本系统无此项目信息!"<<endl;returnfalse;booloperate:modify()/修改歌手信息(intnumber;singer*s=myfirst;singer*f=s;cout<<"请输入要

25、修改的歌手编号:"cin>>number;if(s=NULL)(cout<<"无此歌手!"<<endl;returnfalse;else(while(s!=NULL)(if(s->getnum()=number)(s->output();while(1)(inti;floattmpnumber;chartemp30;cout<<"请选择要修改的歌手信息:"<<endl;cout<<"1:姓名2:性别3:年龄4:参赛曲目5:选送单位6:比赛项目7:比赛时

26、间8:比赛地点9:得分"<<endl;cout<<"请选择(19)中的选项:"cin>>i;switch(i)case1:cout<<"输入修改姓名:"cin>>temp;strcpy(s->getname(),temp);break;case2:cout<<"输入修改性别:";cin>>temp;strcpy(s->getsex(),temp);break;case3:cout<<"输入修改年龄:"

27、;cin>>tmpnumber;s->getagee(tmpnumber);break;case4:cout<<"输入修改参赛歌曲:"cin>>temp;strcpy(s->getsong(),temp);break;case5:cout<<"输入修改选送单位:"cin>>temp;strcpy(s->getdepart(),temp);break;case6:cout<<"输入修改比赛项目:"cin>>temp;strcpy(s-&

28、gt;getprogram(),temp);break;case7:cout<<"输入修改比赛时问:"cin>>temp;strcpy(s->gettime(),temp);break;case8:cout<<"输入修改比赛地点:"cin>>temp;strcpy(s->getplace(),temp);break;case9:cout<<"输入修改得分:"cin>>tmpnumber;s->getscoree(tmpnumber);break;

29、returntrue;elses=s->getnext();f=s;cout<<"没有此编号的歌手!"<<endl;returnfalse;booloperate:deletesinger()/删除歌手信息inti;singer*s=myfirst;singer*f=s;cout<<"请输入要删除歌手的编号:"cin>>i;if(s=NULL)cout<<"无歌手可以删除"returnfalse;elseif(s->getnum()=i)myfirst=myfir

30、st->getnext();cout«"编号为”vvivv”的歌手已被删除了!"«endl;deletes;returntrue;else(s=s->getnext();while(s!=NULL)if(s->getnum()=i)f->setnext(s->getnext();cout«"编号为”ivv”的成员已被删除n"deletes;returntrue;f=s;s=s->getnext();cout«"要删除的歌手不存在,无法删除!"«end

31、l;returnfalse;voidoperate:save()/歌手信息存盘ofstreamf2("singer.txt",ios:out);singer*p=myfirst;while(p)f2«p->getnum()«"t"«p->getname()«"t"«p->getsex()«"t"«p->getage()<<"t"«p->getsong()«"

32、;t"«p->getdepart()«"t"«p->getprogram()«"t"«p->gettime()«"t"«p->getplace()«"t"«p->getscore«endl;p=p->getnext();f2.close();cout«"保存数据已经完成"«endl;singer*s=myfirst;cout

33、1;setw(8)«"voidoperate:showa()/显示所有歌手信息编#"«setw(8)«"姓名"«setw(8)«"性别"«setw(8)«"<<setw(10)<<"参赛曲H"<<setw(12)<<"选送单位"<<endl;while(s!=NULL)(cout<<setw(8)<<s->getnum()<

34、;<setw(8)<<s->getname()<<setw(8)<<s->getsex()<<setw(8)<<s->getage()<<setw(10)<<s->getsong()<<setw(12)<<s->getdepart()<<endl;s=s->getnext();voidoperate:showb()/显示所有赛事信息(singer*s=myfirst;cout<<setw(10)<<"

35、参赛项目"<<setw(12)<<"参赛时11H<<setw(12)<<H参赛地点"<<setw(12)<<"得分"<<endl;while(s!=NULL)(cout<<setw(10)<<s->getprogram()<<setw(12)<<s->gettime()<<setw(12)<<s->getplace()<<setw(12)<<s-&g

36、t;getscore()<<endl;s=s->getnext();voidmenu()/主菜单cout<<"|AAAAAAAAAAAAAAAAAAAAAAAAAAA<<endl;cout<<"*欢迎来到歌手信息管理系统*”endl;cout<<"*|*"<<endl;cout<<"*AAAAAAAAAAAAAAAAAAAAAAAAAAA*"<<endl;cout<<"*"<<endl;cout<<"*II操作:II*"<<endl;cout<<"*II1.歌手数据录入II*"<<endl;cout<<"*II2.增加新歌手II*

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论