⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 operate.cpp

📁 c++写运动会管理系统,只需要建立与三个文件相同的文件就可以了
💻 CPP
📖 第 1 页 / 共 3 页
字号:
cin>>fileName;
infile.open(fileName);
if(!infile)
{
	cout<<"文件打开失败"<<endl;
	abort();
}
char s[100];
while(!infile.eof())
{
infile.getline(s,sizeof(s));
cout<<s<<endl;
}
}
void displayOrderSubMenu()
{
	char *s[]={
		     "1、按学校编号进行输出",
		     "2、按男子团体总分排名进行输出",
			 "3、按女子团体总分排名进行输出",
			 "4、按总分排名输出"
			 };
cout<<"┏────────────────────────────────┓"<<endl;
cout<<"│      "<<setw(15)<<s[0]<<setw(39)<<"                            │"<<endl;
cout<<"├────────────────────────────────┤"<<endl;
cout<<"│      "<<setw(15)<<s[1]<<setw(31)<<"                            │"<<endl;
cout<<"├────────────────────────────────┤"<<endl;
cout<<"│      "<<setw(15)<<s[2]<<setw(31)<<"                            │"<<endl;
cout<<"├────────────────────────────────┤"<<endl;
cout<<"│      "<<setw(15)<<s[3]<<setw(43)<<"                            │"<<endl;
cout<<"┕────────────────────────────────┛"<<endl;
}
void orderByMen()
{
	int a[10];
	int flag,j,k,temp;
	for(k=0;k<10;k++)
		a[k]=school[k].sum1;
	     for  (int i=0; i<9; i++) //  i  表示趟数,最多n-1趟
		 { 
			 flag=0;                //开始时元素未交换
             for ( j=0; j<=10-i; j++)  
             if (a[j]>a[j+1])   //发生逆序 
			 { temp=a[j];a[j]=a[j+1];a[j+1]=temp;}
             flag=1;                        //交换,并标记发生了交换
             if(flag==0) break;    }
		 int order=1;
	         for(k=9;k>=0;k--)
		 {
			
			 for(i=0;i<10;i++)
			 {
			 if(school[i].sum1==a[k]&&school[i].visit==false)
			 {
			 
             cout<<school[i].name<<setw(30);
			 cout<<"得分"<<a[k]<<setw(15);
			 cout<<"排名"<<order<<endl;
			 school[i].visit=true;
			  order++;
			 }
			 
			 continue;
			 }
			
		 }
}
void orderByWomen()
{
	int a[10];
	int flag,j,k,temp;
	for(k=0;k<10;k++)
		a[k]=school[k].sum2;
	     for  (int i=0; i<9; i++) //  i  表示趟数,最多n-1趟
		 { 
			 flag=0;                //开始时元素未交换
             for ( j=0; j<=10-i; j++)  
             if (a[j]>a[j+1])   //发生逆序 
			 { temp=a[j];a[j]=a[j+1];a[j+1]=temp;}
             flag=1;                        //交换,并标记发生了交换
             if(flag==0) break;    }
		 int order=1;
	         for(k=9;k>=0;k--)
		 {
			
			 for(i=0;i<10;i++)
			 {
			 if(school[i].sum2==a[k]&&school[i].visit==false)
			 {
			 
             cout<<school[i].name<<setw(30);
			 cout<<"得分"<<a[k]<<setw(15);
			 cout<<"排名"<<order<<endl;
			 school[i].visit=true;
			  order++;
			 }
			 
			 continue;
			 }
			
		 }
}
void orderByTotalResult()//按照总分进行排序
{
	int a[10];
	int flag,j,k,temp;
	for(k=0;k<10;k++)
		a[k]=school[k].sum;
	     for  (int i=0; i<9; i++) //  i  表示趟数,最多n-1趟
		 { 
			 flag=0;                //开始时元素未交换
             for ( j=0; j<=10-i; j++)  
             if (a[j]>a[j+1])   //发生逆序 
			 { temp=a[j];a[j]=a[j+1];a[j+1]=temp;}
             flag=1;                        //交换,并标记发生了交换
             if(flag==0) break;    }
		 int order=1;
	         for(k=9;k>=0;k--)
		 {
			
			 for(i=0;i<10;i++)
			 {
			 if(school[i].sum==a[k]&&school[i].visit==false)
			 {
			 
             cout<<school[i].name<<setw(30);
			 cout<<"得分"<<a[k]<<setw(15);
			 cout<<"排名"<<order<<endl;
			 school[i].visit=true;
			  order++;
			 }
			 
			 continue;
			 }
			
		 }
}
void setVisited()//设置访问
{
	for(int i=0;i<10;i++)
		school[i].visit=false;
}
void selectOrderSubMenu()
{
cout<<"请你输入你要实现的功能"<<endl;
int c;
cin>>c;
switch(c)
{
case 1:displayTotalResult();break;
case 2:orderByWomen();break;
case 3:orderByMen();break;
case 4:orderByTotalResult();break;
default:cout<<"输入错误"<<endl;
}
}
void Order()
{
displayOrderSubMenu();
selectOrderSubMenu();
setVisited();
}
void selectFunction()
{
	cout<<"请输入相应的功能项"<<endl;
	int choice;
	cin>>choice;
	switch(choice)
	{
	case 1:create();break;
	case 2:displayTotalResult();break;
	case 3:searchResults();break;
	//case 4:searchOrder();break;
	//case 5:addResult();break;
	case 6:Order();break;
	case 7:save();break;
	case 8:read();break;
	case 9:exit(0);break;
    default:cout<<"输入错误"<<endl;
	}
}
void searchByProjectNumber()
{
	int c;
	cout<<"请输入项目编号"<<endl;
	cin>>c;
	for(int i=0;i<10;i++)
	{
		while(school[i].p!=NULL)
		{
		if(strcmp(school[i].p->projectNB,projectNM[c])==0)
		{
			if(school[i].p->first==true)
			cout<<"第一名是:"<<school[i].name<<endl;
			else if(school[i].p->second==true)
			cout<<"第二名是:"<<school[i].name<<endl;
			else if(school[i].p->third==true)
			cout<<"第三名是:"<<school[i].name<<endl;
		}
		else if(strcmp(school[i].p->projectNG,projectNW[c])==0)
		{
			if(school[i].p->first==true)
			cout<<"第一名是:"<<school[i].name<<endl;
			else if(school[i].p->second==true)
			cout<<"第二名是:"<<school[i].name<<endl;
			else if(school[i].p->third==true)
			cout<<"第三名是:"<<school[i].name<<endl;
		}
			else 
			cout<<"该项目尚未比赛"<<endl;
		school[i].p=school[i].p->link;
		}
		
	}
		
}
void ResultMenuSub()//查找分数资子菜单
{
	char *m[]={"1、按照学校编号查询分数",
		       "2、按照项目编号查找前三名"};
	cout<<m[0]<<endl;
	cout<<m[1]<<endl;
}
void selectRSM()//选择子菜单
{
	int c;
	cout<<"请输入需要的功能选项"<<endl;
	cin>>c;
	switch(c)
	{
	case 1:searchBySchoolNumber();break;
	case 2:
	{
	int c;
	cout<<"查询男子项目前三名,请按1"<<endl;
	cout<<"查询女子项目前三名,请按2"<<endl;
	cin>>c;
	if(c==1)
	displayA();
	else
	displayB();
    searchByProjectNumber();
	}
	break;
	default: cout<<"输入错误"<<endl;
    }
	
}
void clr()
{
	system("cls");
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -