/*要求:1)该系统主要处理课外兴趣小组的相关信息。2)学生信息主要包括:学号、姓名、性别、兴趣爱好等内容。3)兴趣主要包括:兴趣编号、兴趣类型等内容。4)完成以下的操作:实现学生兴趣信息的添加、修改、删除和查询。提示:1)建立学生类、兴趣类、兴趣类型类2)学生、兴趣、兴趣类型信息的初始化3)学生、兴趣、兴趣类型信息的添加、修改、删除、查找4)学生兴趣信息的输出5)将学生兴趣信息保存为文件*/#includeiostream.h#includestring.h#includeiomanip.h#includefstream.h//学生类classStudent{public:Student(intstu_no1=-1,char*name1=,char*sex1=);~Student();intstu_no;char*name;char*sex;};Student::Student(intstu_no1,char*name1,char*sex1){stu_no=stu_no1;name=newchar[strlen(name1)+1];strcpy(name,name1);sex=newchar[strlen(sex1)+1];strcpy(sex,sex1);}Student::~Student(){delete[]name;delete[]sex;}//兴趣类classIntrest:publicStudent{public:Intrest(intstu_no1,char*name1,char*sex1,intnum1=-1,char*style1=);~Intrest();intnum;char*style;};Intrest::Intrest(intstu_no1,char*name1,char*sex1,intnum1,char*style1):Student(stu_no1,name1,sex1){num=num1;style=newchar[strlen(style1)+1];strcpy(style,style1);}Intrest::~Intrest(){delete[]style;}//兴趣类型类classKind:publicIntrest{public:Kind(intstu_no1=-1,char*name1=,char*sex1=,intnum1=-1,char*style1=):Intrest(stu_no1,name1,sex1,num1,style1){}voidinsert();voidmodify();voiddel();voidshow();voidsetstu(intstu_no1){stu_no=stu_no1;}voidsetname(char*name1){name=newchar[strlen(name1)+1];strcpy(name,name1);}voidsetsex(char*sex1){sex=newchar[strlen(sex1)+1];strcpy(sex,sex1);}voidsetnum(intnum1){num=num1;}voidsetstyle(char*style1){style=newchar[strlen(style1)+1];strcpy(style,style1);}staticintcount;}stu[100];intKind::count=0;voidKind::insert(){cout学生学号:endl;cinstu_no;cout学生姓名:endl;cinname;cout学生性别:endl;cinsex;cout兴趣编号:endl;cinnum;cout兴趣类型:endl;cinstyle;count++;}voidKind::modify(){cout+++++请选择要进行的修改:endl;cout1...修改学号endl;cout2...修改姓名endl;cout3...修改性别endl;cout4...修改编号endl;cout5...修改类型endl;cout其它数字键..退出endl;inta;cina;switch(a){case1:cout输入新的学号:endl;cinstu_no;break;case2:cout输入新的姓名:endl;cinname;break;case3:cout输入新的性别:endl;cinsex;break;case4:cout输入新的编号:endl;cinnum;break;case5:cout输入新的类型:endl;cinstyle;break;default:return;}}voidKind::del(){stu_no=-1;name=;sex=;num=-1;style=;count--;}voidsearch(){cout输入要查询的学生的学号:endl;intr,o=1;cinr;for(inti=0;iKind::count;i++){if(stu[i].stu_no==r){coutsetiosflags(ios::left)setw(15)学号setiosflags(ios::left)setw(10)姓名setiosflags(ios::left)setw(10)\setiosflags(ios::left)setw(10)性别setiosflags(ios::left)setw(10)兴趣编号setiosflags(ios::left)\setw(10)兴趣类型endl;stu[i].show();o=0;}}if(o==1)cout没有该学号,查询失败endl;}voidKind::show(){coutsetiosflags(ios::left)setw(15)stu_nosetiosflags(ios::left)setw(10)namesetiosflags(ios::left)setw(10)\setiosflags(ios::left)setw(10)sexsetiosflags(ios::left)setw(10)numsetiosflags(ios::left)\setw(10)styleendl;}voidpri(){ofstreamfout(学生兴趣小组管理.txt);if(!fout){coutcannotopenoutputfileendl;}foutsetiosflags(ios::left)setw(15)学号setiosflags(ios::left)setw(10)姓名setiosflags(ios::left)setw(10)\setiosflags(ios::left)setw(10)性别setiosflags(ios::left)setw(10)兴趣编号setiosflags(ios::left)\setw(10)兴趣类型endl;for(inti=0;iKind::count;i++){foutsetiosflags(ios::left)setw(15)stu[i].stu_nosetiosflags(ios::left)setw(10)stu[i].namesetiosflags(ios::left)setw(10)\setiosflags(ios::left)setw(10)stu[i].sexsetiosflags(ios::left)setw(10)stu[i].numsetiosflags(ios::left)\setw(10)stu[i].styleendl;}fout.close();cout保存成功!endl;return;}voidmenu(){cout===========学生兴趣小组管理============endl;cout1---添加学生兴趣信息endl;cout2---修改学生兴趣信息endl;cout3---删除学生兴趣信息endl;cout4---查询学生兴趣信息endl;cout5---显示学生兴趣信息endl;cout6---保存数据!!!endl;cout其它数字键------退出endl;}voidmain(){for(;;){menu();cout请选择您要进行的处理:endl;inti;cini;switch(i){case1:cout请输入要添加的学生的人数:endl;inti,n;cinn;for(i=0;in;i++){stu[Kind::count].insert();}if(n==0)cout无输入!!!endl;elsecout输入完毕!!!endl;break;case2:cout输入要修改的学生的学号:endl;intp;cinp;for(i=0;iKind::count;i++){if(stu[i].stu_no==p){stu[i].modify();cout修改成功!!!endl;}}break;case3:cout输入要删除的学生的学号:endl;intq;cinq;for(i=0;iKind::count;i++){if(stu[i].stu_no==q){stu[i].del();}}for(;iKind::count;i++){Kindtemp;temp=stu[i];stu[i]=stu[i+1];stu[i+1]=stu[i];}break;case4:search();break;case5:coutsetiosflags(ios::left)setw(15)学号setiosflags(ios::left)setw(10)姓名setiosflags(ios::left)setw(10)\setiosflags(ios::left)setw(10)性别setiosflags(ios::left)setw(10)兴趣编号setiosflags(ios::left)\setw(10)兴趣类型endl;for(i=0;iKind::count;i++)stu[i].show();break;case6:pri();break;default:return;}}}