#include<iostream>
#include<fstream>
#include<string>
using namespace std;
void fun1()
{ cout<<"******************************"<<endl;
cout<<endl;
cout<<"******学校运动会管理系统******"<<endl;
cout<<"----数据录入 请按:1----"<<endl;
cout<<"----数据修改 请按:2----"<<endl;
cout<<"----数据删除 请按:3----"<<endl;
cout<<"----数据查询 请按:4----"<<endl;
cout<<"----数据显示 请按:5----"<<endl;
cout<<"----退出系统 请按:6----"<<endl;
cout<<endl;
cout<<"*******************************"<<endl;
cout<<endl;
cout<<"*****请输入一个数据,并按回车键!*****"<<endl;
}
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<<"请分别输入比赛项目编号、名称、比赛时间、比赛地点."<<endl;
cin>>a.number>>a.call>>a.place>>a.time;
a.next=NULL;
fout.write((char *)&a,sizeof(Match));
cout<<"是否继续输入,如果继续键入Y|y"<<endl;
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<<"文件打开失败!"<<endl; exit(0);
}
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<<"您正在进行修改比赛项目有关事项操作!"<<endl;
creat();
Match *p1;
p1=head1;
cout<<"请输入要修改比赛项目的编号:"<<endl;
int number1; //要修改的比赛项目编号
int sign=0; //设置的标记变量
cin>>number1;
while(p1!=NULL)
{ if(p1->number==number1) {sign=1;break;}
p1= p1->next;
}
if (sign==0)
cout<<"没有找到要修改的记录!"<<endl;
else
{
cout<<"请选择要修改比赛项目的那些信息"<<endl;
cout<<"------修改比赛项目的编号----1"<<endl;
cout<<"------修改比赛项目的名称----2"<<endl;
cout<<"------修改比赛时间----3"<<endl;
cout<<"------修改比赛地点----4"<<endl;
cout<<"请输入对应信息的编号"<<endl;
int a;
int nu; //新的整形数据
char info[20]; //新的字符数组
cin>>a;
switch(a)
{
case 1:cout<<"请输入新的比赛编号:"<<endl;
cin>>nu;
p1->number=nu;
cout<<"比赛项目编号修改成功!"<<endl;
break;
case 2:cout<<"请输入新的比赛项目名称:"<<endl;
cin>>info;
strcpy(p1->call,info);
cout<<"比赛项目名称修改成功!"<<endl;
break;
case 3:cout<<"请输入新的比赛时间:"<<endl;
cin>>info;
strcpy(p1->time,info);
cout<<"比赛项目时间修改成功!"<<endl;
break;
case 4:cout<<"请输入新的比赛地点:"<<endl;
cin>>info;
strcpy(p1->place,info);
cout<<"比赛项目地点修改成功!"<<endl;
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<<"请选择要删除比赛项目的那些信息"<<endl;
cout<<"------删除比赛项目的编号----1"<<endl;
cout<<"------删除比赛项目的名称----2"<<endl;
cout<<"请输入对应信息的编号"<<endl;
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<<"没有找到要删除的记录!"<<endl;
else
p2->next=p1->next;
case 2: cin>>cal;
while(p1!=NULL)
{ if(!strcmp(p1->call,cal)) {flag
学校运动会管理系统
最新推荐文章于 2024-03-21 08:00:00 发布