学校运动会管理系统

#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
  • 22
    点赞
  • 149
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值