学校运动会管理系统 - - - - - C++课程设计报告书 下载本文

. . .

};

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<number<<'\\t'<name<<'\\t'<part<<'\\t'<sex<<'\\t'<age<

break;

case 2:cout<<\请输入要查询的运动员姓名:\

word格式资料