您的位置:首页 > 教程文章 > 编程开发

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

:0 :2021-04-27 18:32:08

本文实例为大家分享了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",ios::out);
p1=head1;
while(p1!=NULL)
{
fout.write((char*)p1,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",ios::out);
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<<"请输入要查询的运动员姓名:"< 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",ios::out);
p1=head7;
while(p1!=NULL)
{
fout.write((char*)p1,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++实现简单的职工信息管理系统
C++基础学生管理系统
关于管理系统的更多内容请点击《管理系统专题》进行学习
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持无名。

C++学校运动会管理系统的实现
OJ中G++和C++的区别

同类资源