C++实现学校运动会管理系统

C++实现学校运动会管理系统,第1张

概述这篇文章主要为大家详细介绍了C++实现学校运动会管理系统,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了C++实现学校运动会管理系统的具体代码,供大家参考,具体内容如下


#include

#include

#include

using namespace std;

voID fun1()

{ cout<<"******************************"<

cout<

cout<<"******学校运动会管理系统******"<

cout<<"----数据录入 请按:1----"<

cout<<"----数据修改 请按:2----"<

cout<<"----数据删除 请按:3----"<

cout<<"----数据查询 请按:4----"<

cout<<"----数据显示 请按:5----"<

cout<<"----退出系统 请按:6----"<

cout<

cout<<"*******************************"<

cout<

cout<<"*****请输入一个数据,并按回车键!*****"<

}

class Match

{

public:

Match *next;//为创建链表做准备

int number; //比赛项目编号

char call[10]; //比赛项目名称

char time[10]; //比赛时间

char place[20]; //比赛地点

frIEnd voID input1();

};

voID input1()

{ ofstream fout("e:比赛项目.dat",ios::app);

char ch;

Match a;

do

{ cout<<"请分别输入比赛项目编号、名称、比赛时间、比赛地点."<

cin>>a.number>>a.call>>a.place>>a.time;

a.next=NulL;

fout.write((char *)&a,sizeof(Match));

cout<<"是否继续输入,如果继续键入Y|y"<

cin>>ch;

}while(ch=='y'||ch=='Y');

fout.close();

}

Match *head1;

voID creat()

{ head1=NulL;

Match *p,*q=head1;

ifstream fin("e:比赛项目.dat",ios::in);

if(!fin)

{ cout<<"文件打开失败!"<

}

p=new Match;

fin.read((char*)p,sizeof(Match));

while(!fin.eof())

{ if(head1==NulL) head1=p;

else

q->next=p;

q=p;

p=new Match;

fin.read((char*)p,sizeof(Match));

}

fin.close();

}

int change1() //对比赛项目相关信息修改

{

cout<<"您正在进行修改比赛项目有关事项操作!"<

creat();

Match *p1;

p1=head1;

cout<<"请输入要修改比赛项目的编号:"<

int number1; //要修改的比赛项目编号

int sign=0; //设置的标记变量

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<<"请输入对应信息的编号"<

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->call,info);

cout<<"比赛项目名称修改成功!"<

break;

case 3:cout<<"请输入新的比赛时间:"<

cin>>info;

strcpy(p1->time,info);

cout<<"比赛项目时间修改成功!"<

break;

case 4:cout<<"请输入新的比赛地点:"<

cin>>info;

strcpy(p1->place,info);

cout<<"比赛项目地点修改成功!"<

break;

}

ofstream fout("e:比赛项目.dat",ios::out);

p1=head1;

while(p1!=NulL)

{

fout.write((char*)p1,sizeof(Match));

p1=p1->next;

}

fout.close();

}

return 0;

}

int delete1() //对比赛项目相关信息进行删除

{ creat();

Match *p1,*p2;

p2=p1=head1;

cout<<"请选择要删除比赛项目的那些信息"<

cout<<"------删除比赛项目的编号----1"<

cout<<"------删除比赛项目的名称----2"<

cout<<"请输入对应信息的编号"<

int n;

cin>>n;

int num,flag=0;

char cal[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>>cal;

while(p1!=NulL)

{ if(!strcmp(p1->call,cal)) {flag=1;break;}

p2=p1;

p1= p1->next;

}

if (flag==0)

cout<<"没有找到要删除的记录!"<

else

p2->next=p1->next;

}

ofstream fout("e:比赛项目.dat",sizeof(Match));

p1=p1->next;

}

fout.close();

return 0;

}

voID print1()

{

creat();

Match *p1=head1;

cout<<"请分别输出比赛项目编号、名称、比赛时间、比赛地点."<

while(p1!=NulL)

{ cout<number<<'t'<call<<'t'<time<<'t'<place<

p1=p1->next;

}

}

voID find1()

{ creat();

Match *p1;

p1=head1;

int sign=0;//设置的标记变量

cout<<"请选择要查询比赛项目的哪些信息"<

cout<<"------按比赛项目的编号查询----1"<

cout<<"------按比赛项目的名称查询----2"<

cout<<"------按比赛时间查询----3"<

cout<<"------按比赛地点查询----4"<

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'<call<<'t'<time<<'t'<place<

break;

case 2:cout<<"请输入要查询的比赛项目名称:"<

cin>>info;

while(p1!=NulL)

{ if(p1->call==info) {sign=1;break;}

p1= p1->next;

}

if (sign==0)

cout<<"没有找到要查询的记录!"<

else

cout<number<<'t'<call<<'t'<time<<'t'<place<

case 3:cout<<"请输入要查询的比赛时间:"<

cin>>info;

while(p1!=NulL)

{ if(!strcmp(p1->time,info)) {sign=1;break;}

p1= p1->next;

}

if (sign==0)

cout<<"没有找到要查询的记录!"<

else

cout<number<<'t'<call<<'t'<time<<'t'<place<

case 4:cout<<"请输入要查询的比赛地点:"<

cin>>info;

while(p1!=NulL)

{ if(!strcmp(p1->place,info)) {sign=1;break;}

p1= p1->next;

}

if (sign==0)

cout<<"没有找到要查询的记录!"<

else

cout<number<<'t'<call<<'t'<time<<'t'<place<

}

}

class Athlete

{

public:

Athlete *next;

int number; //运动员的编号

char name[10]; //运动员的姓名

char part[20]; //运动员所属工作单位或省份

char sex[20]; //运动员性别

int age; //运动员年龄

frIEnd voID input2();

};

voID input2()

{ ofstream fout("e:运动员.dat",ios::app);

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("e:运动员.dat",ios::in);

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; //设置的标记变量

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;

p1->age=nu,

cout<<"运动员年龄修改成功!"<

break;

}

ofstream fout("e:运动员.dat",ios::out);

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;

}

if (flag==0)

cout<<"没有找到要删除的记录!"<

else

p2->next=p1->next;

}

ofstream fout("e:运动员.dat",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<<"请输入要查询的运动员姓名:"<

cin>>info;

while(p1!=NulL)

{ if(p1->name==info) {sign=1;break;}

p1= p1->next;

}

if (sign==0)

cout<<"没有找到要查询的记录!"<

else

cout<number<<'t'<name<<'t'<part<<'t'<sex<<'t'<age<

break;

}

}

voID print2()

{

creat2();

Athlete *p1=head4;

cout<<"请分别输出运动员编号、姓名、所属省份或工作单位、性别、年龄."<

while(p1!=NulL)

{ cout<number<<'t'<name<<'t'<part<<'t'<sex<<'t'<age<

p1=p1->next;

}

}

class Message

{

public:

Message *next;

char name[10]; //运动员姓名

char avent[10]; //运动员参加的某比赛项目名称

int score ; //成绩

int ca; //名次

frIEnd voID input3();

};

voID input3()

{ ofstream fout("e:比赛赛事.dat",ios::app);

char ch;

Message c;

do

{ cout<<"请分别输入参赛运动员姓名、比赛名称、比赛成绩、比赛名次."<

cin>>c.name>>c.avent>>c.score>>c.ca;

c.next=NulL;

fout.write((char *)&c,sizeof(Message));

cout<<"是否继续输入,如果继续键入Y|y"<

cin>>ch;

}while(ch=='y'||ch=='Y');

fout.close();

}

Message *head7;

voID creat3()

{ head7=NulL;

Message *p,*q=head7;

ifstream fin("e:比赛赛事.dat",ios::in);

if(!fin)

{

cout<<"文件打开失败!"<

}

p=new Message;

fin.read((char*)p,sizeof(Message));

while(!fin.eof())

{ if(head7==NulL) head7=p;

else

q->next=p;

q=p;

p=new Message;

fin.read((char*)p,sizeof(Message));

}

fin.close();

}

int change3() //修改比赛赛事信息

{ cout<<"您正在进行修改比赛赛事有关事项操作!"<

creat3();

Message *p1;

p1=head7;

cout<<"请输入参赛运动员姓名及参赛项目名称! "<

char na[20];

char info[20];

int sign=0;//设置的标记变量

cin>>na>>info;

while(p1!=NulL)

{ if((p1->name==na)&&(p1->avent==info)) {sign=1;break;}

p1= p1->next;

}

if (sign==0)

cout<<"没有找到要修改的记录!"<

else

{

cout<<"请选择要修改比赛赛事的哪些信息"<

cout<<"------修改参赛运动员的姓名----1"<

cout<<"------修改比赛项目的名称----2"<

cout<<"------修改比赛成绩----3"<

cout<<"------修改比赛名次----4"<

cout<<"请输入对应信息的编号"<

int a;

int nu; //新的整形数据

char info[20]; //新的字符数组

cin>>a;

switch(a)

{

case 1:cout<<"请输入新的参赛运动员姓名:"<

cin>>info;

strcpy(p1->name,info);

cout<<"参赛运动员姓名修改成功!"<

break;

case 2:cout<<"请输入新的比赛项目名称:"<

cin>>info;

strcpy(p1->avent,info);

cout<<"比赛项目名称修改成功!"<

break;

case 3:cout<<"请输入新的比赛成绩:"<

cin>>nu;

p1->score=nu;

cout<<"比赛项目成绩修改成功!"<

break;

case 4:cout<<"请输入新的比赛名次:"<

cin>>nu;

p1->ca=nu;

cout<<"比赛名次修改成功!"<

break;

}

ofstream fout("e:比赛赛事.dat",ios::out);

p1=head7;

while(p1!=NulL)

{

fout.write((char*)p1,sizeof(Message));

p1=p1->next;

}

fout.close();

}

return 0;

}

int delete3() //对比赛赛事相关信息进行删除

{ creat3();

Message *p1,*p2;

p2=p1=head7;

cout<<"请输入要删除的参赛运动员姓名及比赛项目名称:"<

int flag=0;

char na[20];

char info[20];

cin>>na>>info;

while(p1!=NulL)

{ if((p1->name==na)&&(p1->avent==info)) {flag=1;break;}

p2=p1;

p1= p1->next;

}

if (flag==0)

cout<<"没有找到要删除的记录!"<

else

p2->next=p1->next;

ofstream fout("e:比赛赛事.dat",sizeof(Message));

p1=p1->next;

}

fout.close();

return 0;

}

voID print3()

{

creat3();

Message *p1=head7;

cout<<"请分别输出比赛参赛运动员姓名、比赛项目名称、比赛成绩、比赛名次."<

while(p1!=NulL)

{ cout<name<<'t'<avent<<'t'<score<<'t'<ca<

p1=p1->next;

}

}

voID find3()

{ creat3();

Message *p1;

p1=head7;

int sign=0; //设置的标记变量

cout<<"请输入要查询的参赛运动员姓名和比赛项目名称! "<

char na[20];

char info[20]; //查询字符型数据条件

cin>>na>>info;

while(p1!=NulL)

{ if((p1->name==na)&&(p1->avent==info)) {sign=1;break;}

p1= p1->next;

}

if (sign==0)

cout<<"没有找到要查询的记录!"<

else

cout<name<<'t'<avent<<'t'<score<<'t'<ca<

}

int find()//进行查找

{

cout<

cout<<"ttt请输入要查询的信息:"<

cout<<"tt比赛项目信息查询 请按:1"<

cout<<"tt运动员信息查询 请按:2"<

cout<<"tt比赛赛事信息查询 请按:3"<

int j;

cin>>j;

switch(j)

{

case 1:find1();break;

case 2:find2();break;

case 3:find3();break;

default:cout<<"输入数据有误!"<

}

return 0;

}

int input()

{

cout<

cout<<"ttt请输入要输入的信息:"<

cout<<"tt比赛项目信息输入 请按:1"<

cout<<"tt运动员信息输入 请按:2"<

cout<<"tt比赛赛事信息输入 请按:3"<

int j;

cin>>j;

switch(j)

{

case 1:input1();break;

case 2:input2();break;

case 3:input3();break;

default:cout<<"输入数据有误!"<

}

return 0;

}

int print()

{

cout<

cout<<"ttt请输入要显示输出的信息:"<

cout<<"tt比赛项目信息显示输出 请按:1"<

cout<<"tt运动员信息显示输出 请按:2"<

cout<<"tt比赛赛事信息显示输出 请按:3"<

int j;

cin>>j;

switch(j)

{

case 1:print1();break;

case 2:print2();break;

case 3:print3();break;

default:cout<<"输入数据有误!"<

}

return 0;

}

int change()

{

cout<

cout<<"ttt请输入要修改的信息:"<

cout<<"tt比赛项目信息修改 请按:1"<

cout<<"tt运动员信息修改 请按:2"<

cout<<"tt比赛赛事信息修改 请按:3"<

int j;

cin>>j;

switch(j)

{

case 1:change1();break;

case 2:change2();break;

case 3:change3();break;

default:cout<<"输入数据有误!"<

}

return 0;

}

int deleted()

{

cout<

cout<<"ttt请输入要删除的信息:"<

cout<<"tt比赛项目信息删除 请按:1"<

cout<<"tt运动员信息删除 请按:2"<

cout<<"tt比赛赛事信息删除 请按:3"<

int j;

cin>>j;

switch(j)

{

case 1:delete1();break;

case 2:delete2();break;

case 3:delete3();break;

default:cout<<"输入数据有误!"<

}

return 0;

}

int main()

{

int i;

do

{

fun1();

cin>>i;

switch(i)

{

case 1:input();break;

case 2:change();break;

case 3:deleted();break;

case 4:find();break;

case 5: print();break;

case 6: return 0;

default:cout<<"您输入数据有误!"<

}

}while(1);

return 0;

}





以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持内存溢出。

总结

以上是内存溢出为你收集整理的C++实现学校运动会管理系统全部内容,希望文章能够帮你解决C++实现学校运动会管理系统所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1264822.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存