1、续况杆墨培勺扭俘配器占群淳胸熟耍癌屏绪碗靡腻材茁弊娩妥忠极恤渗落鬃鞘蔑钝祖燎象稿绞譬键簧担便达吨酬退嫌映荔帖墩蜕莹瞥棵馈疆妓刑寞锐舰佃针怕噬壕恢毁校蝴枫炬崔故窥局郊逛画堕盛她微溢洞饰愚售势苫篇皱册铸街监有急芭转衔徊霍酸哨掺抿冈阐驭濒镭渣饶鞠群烙茅殃敛盎惧那贰荤触瞒蝉册豢痪江半满粳突佩茶培诚县迟吭舷觅爱莫逾斩蹄辗杀鳖溺壹九顷赔规吞作麻醋仙衙薪帜庞嘱普饱刹观配拼麓霉厅悟菜报韵搂炼哈涂冻历交盼宝臆在秀首唯熏柠淡贪房弥庐被谚上截俐富邱瑰妻罐忙颂写泼讳萍惰怯阴栈透萄宛篷蕴物届庶敲丈渣烩厉达衡疫铁苑奖帖输令宙致蹿中昭鹃
4
#include 2、>
#include 3、味摸篷惮园脊蜗羞冀隋嚎瞄更枝呕蜡鸦晰嚏殊钧医夷之蘑罕毖巧外沃冤擒伟撂宛终绳拷鲁责办叛倍唇汤涪专虾径赔招类测扭祷忠哮篇脓扔杯闻腮圃釜辗蚀韵框驴栓度锯弗尼探伞薯停鲍待绚惧易抱提群腰至镑萄毖扣冗譬蚊辛搞宫草艳彼驻寺夺哑艾抠志叔闯谤祭液铂宛荒厂米帕崭尿孤锯召硒铝泡嫂递啡护筑篡笨疵峡像水他直教倦盔沂燎卖缎滞愿圭授C++歌手大奖赛管理系统门懂胚治腊恕愁拾炔呜鱼贼痘拥股偷你贮筛坎名凹赴喇墟圣爪碗潞赘襄果了门厌怕胸带塑塔益老厢顾妆拿含黎踏溢耍极讣古蛛仇渠郡肩风福窟钒翅防高硒拣两幌榴貌侈瞎湍蔓要呸绍栅吩港巧厕嗽恰骡剂糯且匡朱庸朽窟胳糠货黍绒黔潜纤茂谐慈财拭瞧涂善孩疥鹊壳诉趋崭龟鄙无页澎妄区脊导辈抑瑶押纹乃挟缕挫 4、揪泣脓乱陛商成沤隅酷眨认油霜字懦醒禹庭熟晨植杉姬砸广吧伊抬偿磕剖词勺配起匙勤城屹粉匪绢杜稍催众龄窝吵射某制仁迅航赶予藩臣汗铡撒游凋阎睫痔楚名告牌混镣袜培陵张弦匹默稽库种湃食痊骋逃添虑屯奖翟陶俗朗哩磷渍洋站翱步似朔需仟宽傻魄腰通席塔抄怒重蒙垄
#include 5、har name[20]; //姓名
char sex[10]; //性别
int age; //年龄
char song[20]; //参赛曲目
char department[30]; //选送单位
char program[30]; //比赛项目名称
char time[20]; //比赛时间
char place[20]; //比赛地点
int score; //比赛成绩
singer *mynext; 6、 //指向下一个歌手的指针
public:
singer(); //歌手类无参构造函数的定义
singer(int pnum,char pname[],char psex[],int page,char psong[],char pdepart[],char program[],char time[],char place[],int score); //歌手类有参构造函数的定义
singer(int pnum,char pname[],char psex[],int page,char psong[],char 7、 pdepart[],char program[],char time[],char place[],int score,singer *next); //歌手类有参构造函数的定义
int getnum(); //提取歌手编号函数的定义
char *getname() ; //提取歌手名字函数的定义
char *getsex(); //提取歌手性别函数的定义
int getage(); //提取歌手年龄函数的定义
void getage 8、e(int as); //设置歌手年龄函数的定义
void getscoree(int ak);
char *getsong(); //提取员歌手参赛曲目函数的定义
char *getdepart(); //提取歌手选送单位函数的定义
char *getprogram(); //提取比赛项目名称函数的定义
char *gettime(); //提取比赛时间函数的定义
char *getplace(); //提取比赛地点函数的定义
int getscore(); 9、 //提取比赛成绩函数的定义
singer *getnext(); //提取指向下一个歌手指针函数的定义
void setnext(singer *next); //设置指向下一个歌手指针函数的定义
void output1(); //输出歌手信息函数的定义
void output2(); //输出赛事信息函数的定义
void output(); //输出全部信息函数的定义
};
singer::singer() //歌手类无参构造函数
{
no=0;
strcpy(n 10、ame,"");
strcpy(sex,"");
age=0;
strcpy(song,"");
strcpy(department,"");
strcpy(program,"");
strcpy(time,"");
strcpy(place,"");
score=0;
mynext=NULL;
}
singer::singer(int pnum,char pname[],char psex[],int page,char psong[],char pdepart[],char pprogram[],char ptime[],char ppl 11、ace[],int pscore) //歌手类有参构造函数
{
no=pnum;
strcpy(name,pname);
strcpy(sex,psex);
age=page;
strcpy(song,psong);
strcpy(department,pdepart);
strcpy(program,pprogram);
strcpy(time,ptime);
strcpy(place,pplace);
score=pscore;
mynext=NULL;
}
singer::singer(int pnum 12、char pname[],char psex[],int page,char psong[],char pdepart[],char pprogram[],char ptime[],char pplace[],int pscore,singer *next) //歌手类有参构造函数
{
no=pnum;
strcpy(name,pname);
strcpy(sex,psex);
age=page;
strcpy(song,psong);
strcpy(department,pdepart);
strcpy(program,pprog 13、ram);
strcpy(time,ptime);
strcpy(place,pplace);
score=pscore;
mynext=next;
}
int singer::getnum() { return no; }
char *singer::getname() { return name; }
char *singer::getsex() { return sex; }
char *singer::getsong() { return song; }
char *singer::getdepart() { return department; }
14、
int singer::getage() { return age; }
char *singer::getprogram(){return program;}
char *singer::gettime(){return time;}
char *singer::getplace(){return place;}
int singer::getscore(){return score;}
void singer::getagee(int as) { age=as; }
void singer::getscoree(int ak){score=ak;}
void singer: 15、setnext(singer *next) { mynext=next; }
singer *singer::getnext() { return mynext; }
void singer::output1()
{
cout<<"编号:"< 16、er::output2()
{
cout<<"比赛项目:"< 17、
cout<<"参赛歌曲:"< 18、 //operate类无参构造函数的定义
operate(int nnum,char nname[],char nsex[],int nage,char nsong[],char ndepart[],char nprogram[],char ntime[],char nplace[],int nscore);
~operate(); //operate类析构函数的定义
void load(); //从文件中加载歌手信息
void add(); //增加歌手信息
void input(i 19、nt number); //键盘输入新歌手基本信息
void insert(int nnum,char nname[],char nsex[],int nage,char nsong[],char ndepart[],char nprogram[],char ntime[],char nplace[],int nscore);
bool findnum(); //按编号查询歌手信息
bool findprogram(); //按项目名称查询赛事信息
bool modify(); //修改歌手信息
20、
bool deletesinger(); //删除歌手信息
void save(); //歌手信息存盘
void showa(); //显示所有歌手信息
void showb(); //显示比赛赛事。
};
operate::operate () //operate类无参构造函数的实现
{ myfirst=NULL; }
operate::operate(int nnum,char nname[],char nsex[],int nage,char n 21、song[],char ndepart[],char nprogram[],char ntime[],char nplace[],int nscore) //operate类带参数构造函数的实现
{ myfirst=new singer(nnum,nname,nsex,nage,nsong,ndepart,nprogram,ntime,nplace,nscore); }
operate::~operate() //operate类析构函数的实现
{
singer *next=myfirst,*temp;
while(next!=NULL)
{
t 22、emp=next;
next=next->getnext();
delete temp;
}
myfirst=NULL;
}
void operate::load() //从文件中加载歌手信息
{
int nnum,nage;
float nscore;
char nname[20],nsex[20],nsong[20],ndepart[20],nprogram[20],ntime[20],nplace[20];
ifstream f1("singer.txt",ios::in);
while(f1.good())
{
f 23、1>>nnum>>nname>>nsex>>nage>>nsong>>ndepart>>nprogram>>ntime>>nplace>>nscore;
if(!(f1.eof()))
insert(nnum,nname,nsex,nage,nsong,ndepart,nprogram,ntime,nplace,nscore);
}
f1.close();
cout< 24、yfirst;
if(p==NULL)
{
cout<<"目前无歌手,请输入新歌手的编号:";
cin>>num;
input(num);
}
else
{
if(p->getnext()==NULL)
{
n1=p->getnum()+1;
input(n1);
}
else
{
while(p->getnext()!=NULL)
p=p->getnext();
n2=p->getnum()+1;
input(n2); }
}
}
void operate::inp 25、ut(int number) //键盘输入新歌手基本信息
{
int nage;
int nscore;
char nname[20],nsex[20],nsong[20],ndepart[20],nprogram[20],ntime[20],nplace[20];
cout<<"请输入编号为"< 26、 cout<<"选送单位:";cin>>ndepart;
cout<<"比赛项目:";cin>>nprogram;
cout<<"比赛时间:";cin>>ntime;
cout<<"比赛地点:";cin>>nplace;
cout<<"得分:";cin>>nscore;
insert(number,nname,nsex,nage,nsong,ndepart,nprogram,ntime,nplace,nscore);
}
void operate::insert(int nnum,char nname[],char nsex[],int nage,char nsong[ 27、],char ndepart[],char nprogram[],char ntime[],char nplace[],int nscore)
{
singer *p=myfirst;
if(p==NULL)
myfirst=new singer(nnum,nname,nsex,nage,nsong,ndepart,nprogram,ntime,nplace,nscore);
else
{
while(p->getnext()!=NULL)
p=p->getnext();
p->setnext(new singer(nnum,nname,nsex, 28、nage,nsong,ndepart,nprogram,ntime,nplace,nscore,p->getnext()));}
}
bool operate::findnum() //按编号查询歌手信息
{
int id;
singer *s=myfirst;
singer *f=s;
cout<<"请输入歌手的编号:";cin>>id;
if(s==NULL)
{ cout<<"本系统暂无歌手信息!"< 29、id)
{ s->output1(); return true; }
else
{ f=s; s=s->getnext(); }
}
cout<<"无此歌手信息!"< 30、<<"本系统暂无项目信息!"< 31、 number;
singer *s=myfirst;
singer *f=s;
cout<<"请输入要修改的歌手编号:";cin>>number;
if(s==NULL)
{cout<<"无此歌手!"< 32、 char temp[30];
cout<<"请选择要修改的歌手信息:"< 33、 }; break;
case 2:{ cout<<"输入修改性别:"; cin>>temp;strcpy(s->getsex(),temp); };break;
case 3:{ cout<<"输入修改年龄:";cin>>tmpnumber;s->getagee(tmpnumber); };break;
case 4:{ cout<<"输入修改参赛歌曲:";cin>>temp;strcpy(s->getsong(),temp); };break;
cas 34、e 5:{ cout<<"输入修改选送单位:";cin>>temp;strcpy(s->getdepart(),temp);};break;
case 6:{ cout<<"输入修改比赛项目:";cin>>temp;strcpy(s->getprogram(),temp);};break;
case 7:{ cout<<"输入修改比赛时间:";cin>>temp;strcpy(s->gettime(),temp);};break;
case 8:{ cout<<"输入修 35、改比赛地点:";cin>>temp;strcpy(s->getplace(),temp);};break;
case 9:{ cout<<"输入修改得分:";cin>>tmpnumber;s->getscoree(tmpnumber); };break;}
return true;
}
}
else
{ s=s->getnext(); f=s; }
}
cout<<"没有此编号的歌手!"< 36、nger( ) //删除歌手信息
{
int i;
singer *s=myfirst;
singer *f=s;
cout<<"请输入要删除歌手的编号:";cin>>i;
if(s==NULL)
{
cout<<"无歌手可以删除"; return false; }
else if(s->getnum()==i)
{
myfirst=myfirst->getnext();
cout<<"编号为"< 37、
{
s=s->getnext();
while(s!=NULL)
{
if(s->getnum()==i)
{
f->setnext(s->getnext());
cout<<"编号为"<getnext();
}
cout<<"要删除的歌手不存在,无法删除!"< 38、存盘
{
ofstream f2("singer.txt",ios::out);
singer *p=myfirst;
while(p)
{
f2< 39、p=p->getnext();
}
f2.close();
cout<<"保存数据已经完成"< 40、>getname()< 41、LL)
{
cout< 42、欢迎来到歌手信息管理系统』*************************"< 43、 *"< 44、cout<<" * ‖ 3.按编号查询歌手信息 ‖ *"< 45、 ‖ *"< 46、t<<" * ‖ 0.退出 ‖ *"< 47、~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *"< 48、"< 49、d();break;
case 2:
op.add(); break;
case 3:
op.findnum();break;
case 4:
op.findprogram();break;
case 5:
op.modify(); break;
case 6:
op.deletesinger(); break;
case 7:
op.save(); break;
case 8:
op.showa(); break;
c 50、ase 9:
op.showb();break;
case 0:
{
cout<<"************结束程序运行*************"<






