. . .
};
void input2()
{ ofstream fout(\运动员.dat\ char ch; Athlete b; do
{ cout<<\请分别输入运动员编号、姓名、性别、年龄、所属省份或工作单位.\ cin>>b.number>>b.name>>b.sex>>b.age>>b.part; b.next=NULL;
fout.write((char *)&b,sizeof(Athlete));
cout<<\是否继续输入,如果继续键入Y|y\ cin>>ch;
}while(ch=='y'||ch=='Y'); }
Athlete *head4; void creat2() { head4=NULL;
Athlete *p,*q=head4;
ifstream fin(\运动员.dat\ if(!fin) {
cout<<\文件打开失败!\ }
p=new Athlete;
fin.read((char*)p,sizeof(Athlete)); while(!fin.eof())
{ if(head4==NULL) head4=p; else
q->next=p; q=p;
p=new Athlete;
fin.read((char*)p,sizeof(Athlete)); }
fin.close(); }
int change2() //对运动员相关信息修改 {
cout<<\您正在进行修改运动员基本信息操作!\ creat2(); Athlete *p1; p1=head4;
cout<<\请输入要修改运动员的编号:\ int number1; //要修改的运动员编号 int sign=0; //设置的标记变量
word格式资料
. . .
cin>>number1; while(p1!=NULL)
{ if(p1->number==number1) {sign=1;break;} p1= p1->next; }
if (sign==0)
cout<<\没有找到要修改的记录!\ else {
cout<<\请选择要修改运动员的哪些信息\ cout<<\修改运动员的编号----1\ cout<<\修改运动员的姓名----2\
cout<<\修改运动员所属工作单位或省份----3\ cout<<\修改运动员性别----4\ cout<<\修改运动员年龄----4\ cout<<\请输入对应信息的编号\ int a;
int nu; //新的整形数据 char info[20]; //新的字符数组 cin>>a; switch(a) {
case 1:cout<<\请输入新的运动员编号:\ cin>>nu;
p1->number=nu;
cout<<\运动员的编号修改成功!\ break;
case 2:cout<<\请输入新的运动员姓名:\ cin>>info;
strcpy(p1->name,info);
cout<<\运动员姓名修改成功!\ break;
case 3:cout<<\请输入新的运动员所属工作单位或省份:\
cin>>info;
strcpy(p1->part,info);
cout<<\运动员所属工作单位或省份修改成功!\ break;
case 4:cout<<\请输入新的性别:\
cin>>info;
strcpy(p1->sex,info);
cout<<\运动员性别修改成功!\ break;
case 5:cout<<\请输入新的年龄:\
cin>>nu;
word格式资料
. . .
p1->age=nu,
cout<<\运动员年龄修改成功!\ break; }
ofstream fout(\运动员.dat\ p1=head4;
while(p1!=NULL) {
fout.write((char*)p1,sizeof(Athlete)); p1=p1->next; }
fout.close(); }
return 0; }
int delete2()//对运动员相关信息进行删除 { creat2();
Athlete *p1,*p2; p2=p1=head4;
cout<<\请选择要删除运动员的哪些信息\ cout<<\删除运动员的编号----1\ cout<<\删除运动员的姓名----2\ cout<<\请输入对应信息的编号\ int n; cin>>n;
int num,flag=0; char na[10]; switch(n)
{case 1: cin>>num;
while(p1!=NULL)
{ if(p1->number==num) {flag=1;break;} p2=p1;
p1= p1->next; }
if (flag==0)
cout<<\没有找到要删除的记录!\ else
p2->next=p1->next; case 2: cin>>na;
while(p1!=NULL)
{ if(!strcmp(p1->name,na)) {flag=1;break;} p2=p1;
p1= p1->next; }
word格式资料
. . .
if (flag==0)
cout<<\没有找到要删除的记录!\ else
p2->next=p1->next; }
ofstream fout(\运动员.dat\ p1=head4;
while(p1!=NULL) {
fout.write((char*)p1,sizeof(Athlete)); p1=p1->next; }
fout.close(); return 0; }
void find2() { creat2(); Athlete *p1; p1=head4;
int sign=0;//设置的标记变量
cout<<\请选择要查询运动员的哪些信息\ cout<<\按运动员的编号查询----1\ cout<<\按运动员的姓名查询----2\ cout<<\请输入对应信息的编号\ int a;
int nu; //查询整形数据条件 char info[20]; //查询字符型数据条件 cin>>a; switch(a) {
case 1:cout<<\请输入要查询的运动员编号:\ cin>>nu;
while(p1!=NULL)
{ if(p1->number==nu) {sign=1;break;} p1= p1->next; }
if (sign==0)
cout<<\没有找到要查询的记录!\ else
cout< break; case 2:cout<<\请输入要查询的运动员姓名:\ word格式资料