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

📄 sports.cpp

📁 运动会成绩管理程序
💻 CPP
📖 第 1 页 / 共 2 页
字号:
			sch[low]=sch[high];
			
			while(low<high&&ooo.Mscore<=sch[low].Mscore)
				low++;
			sch[high]=sch[low];
		}//while
		sch[low]=ooo;
	}
	return low;
}//Partition
 //***************************************************************************************
 //***************************************************************************************

void QSort(int low,int high,char mark[20])
{
	int pp;
	if(low<high){
		pp=Partition(low,high,mark);
		QSort(low,pp-1,mark);
		QSort(pp+1,high,mark);
	}
}//QSort
 //***************************************************************************************
 //***************************************************************************************

void Display(void)
{
	 fstream file;
	 file.open("point.txt",ios::in|ios::nocreate|ios::binary);
	 if(!file){
		 cout<<endl<<endl;
		 cout<<"     文件打开错误!请查看文件point.txt是否存在!"<<endl;
		 cin.ignore();
		 return;
	 }

	Info *head,*q,*p;
	FileInfo pointt;
	file.read((char*)&pointt,sizeof(pointt));
	q=new Info[1];
	head=q;
	while(!file.eof()){
		p=q;
		strcpy((*q).sportname_0,pointt.sportname_1);
		(*q).sportnum_0=pointt.sportnum_1;
		(*q).schoolnum_0=pointt.schoolnum_1;
		(*q).playernum_0=pointt.playernum_1;
		(*q).point_0=pointt.point_1;
		(*q).sex=pointt.sex;
		file.read((char*)&pointt,sizeof(pointt));
		q=new Info[1];
		(*p).next=q;
	}//while
	(*p).next=NULL;
	int i,j,ss;
	for(i=0;i<15;i++){
		sch[i].Fescore=0;
		sch[i].Mscore=0;
		sch[i].score=0;
		for(j=0;j<20;j++)
			sch[i].evit[j].it_score=0;
	}
	q=head;
	while(q!=NULL){
		if((*q).playernum_0!=0){
			for(i=0;i<15;i++)
				if((*q).schoolnum_0==sch[i].sch_num){
					for(j=0;j<20;j++){
						if((*q).sportnum_0==sch[i].evit[j].it_num)
							sch[i].evit[j].it_score+=(*q).point_0;
					}//for
					if((*q).sex=='F'||(*q).sex=='f')
							sch[i].Fescore=sch[i].Fescore+(*q).point_0;
					if((*q).sex=='M'||(*q).sex=='m')
							sch[i].Mscore=sch[i].Mscore+(*q).point_0;
					sch[i].score=sch[i].Fescore+sch[i].Mscore;
					break;
				}//if
		}//if
		q=(*q).next;
	}//while

	char choice[20],choice1[20];
	int cho;

	while(1){
		system("cls");
		cout<<endl<<endl;
		cout<<"          ---------------------------------------"<<endl;
		cout<<"                        成绩查询"<<endl<<endl;
		cout<<"                      1.   查询学校情况"<<endl;
		cout<<"                      2.   按学校编号查询"<<endl;
		cout<<"                      3.   按总分查询"<<endl;
		cout<<"                      4.   按男子团体总分查询"<<endl;
		cout<<"                      5.   按女子团体总分查询"<<endl;
		cout<<"                      6.   查询项目"<<endl;
		cout<<"                      7.   返回主菜单"<<endl;
		cout<<"                        请输入: ";
		cin.getline(choice,81,'\n');
		if(strcmp(choice,"1")==0){
			while(1){
				system("cls");
				cout<<endl<<endl;
				cout<<"          ---------------------------------------"<<endl;				
				cout<<"                        查询学校情况"<<endl<<endl;
				cout<<"                      1.   查询学校总分"<<endl;
				cout<<"                      2.   查询某学校某项目"<<endl;
				cout<<"                      3.   返回"<<endl;
				cout<<"                        请输入: ";
				cin.getline(choice1,81,'\n');
				if(strcmp(choice1,"1")==0){
					cout<<endl<<endl;
					cout<<"\t 请输入学校编号: ";
					cin>>ss;
					for(i=0;i<15;i++)
					{
						if(ss==sch[i].sch_num){
							cout<<endl<<endl;
							cout<<"\t 学校编号:"<<sch[i].sch_num<<"\t 学校名称:"<<sch[i].sch_name<<endl;
							cout<<"\t 团体总分: "<<sch[i].score<<endl;
							cout<<"\t 男子团体总分: "<<sch[i].Mscore<<endl;
							cout<<"\t 女子团体总分: "<<sch[i].Fescore<<endl;
							break;
						}
					}
					cin.ignore();
					cin.ignore();
				}//if 1
				if(strcmp(choice1,"2")==0){
					cout<<endl<<endl;
					cout<<"\t 请输入学校编号: ";
					cin>>ss;
					cout<<"\t 请输入项目编号: ";
					cin>>cho;
					for(i=0;i<15;i++)
					{
						if(ss==sch[i].sch_num){
							for(j=0;j<20;j++)
							{
								if(cho==sch[i].evit[j].it_num){
									cout<<endl<<endl;
									cout<<"\t 学校编号:"<<sch[i].sch_num<<"\t 学校名称:"<<sch[i].sch_name<<endl;
									cout<<"\t 项目编号: "<<sch[i].evit[j].it_num<<"\t 项目名称:"<<sch[i].evit[j].it_name<<endl;
									cout<<"\t 该项目总分: "<<sch[i].evit[j].it_score<<endl;
									break;
								}
							}
							break;
						}
					}
					cin.ignore();
					cin.ignore();
				}//if 2
				if(strcmp(choice1,"3")==0){
					break;
				}//if 3
				if(strcmp(choice1,"1")!=0&&strcmp(choice1,"2")!=0&&strcmp(choice1,"3")!=0){
					cout<<endl;
					cout<<"                  您输入的选择不正确!请重新输入!"<<endl;
					cout<<"                        按任意键继续!";
					cin.ignore();
				}//if
			}//while
		}//if 1

		if(strcmp(choice,"2")==0){
			QSort(0,15,"num");
			system("cls");
			cout<<endl<<endl;
			for(i=0;i<18;i++){
				if(sch[i].score==0)
					continue;
				cout<<"\t 学校编号:"<<sch[i].sch_num<<" 学校名称:"<<sch[i].sch_name
				    <<endl<<"\t 学校总分: "<<sch[i].score<<endl;
				cout<<"\t 按任意键继续!\n";
				cin.ignore();
			}//for
			cout<<"\t 显示完毕!按任意键返回!"<<endl;
			cin.ignore();
		}//if 2

		if(strcmp(choice,"3")==0){
			QSort(0,15,"score");
			system("cls");
			cout<<endl<<endl;
			for(i=0;i<18;i++){
				if(sch[i].score==0)
					continue;
				cout<<"\t 学校编号:"<<sch[i].sch_num<<" 学校名称:"<<sch[i].sch_name
				    <<endl<<"\t 团体总分: "<<sch[i].score<<endl;
				cout<<"\t 按任意键继续!\n";
				cin.ignore();
			}//for
			cout<<"\t 显示完毕!按任意键返回!"<<endl;
			cin.ignore();
		}//if 3
		
		if(strcmp(choice,"4")==0){
			QSort(0,15,"mscore");
			system("cls");
			cout<<endl<<endl;
			for(i=0;i<18;i++){
				if(sch[i].Mscore==0)
					continue;
				cout<<"\t 学校编号:"<<sch[i].sch_num<<" 学校名称:"<<sch[i].sch_name
				    <<endl<<"\t 男子团体总分: "<<sch[i].Mscore<<endl;
				cout<<"\t 按任意键继续!\n";
				cin.ignore();
			}//for
			cout<<"\t 显示完毕!按任意键返回!"<<endl;
			cin.ignore();
		}//if 4
		
		if(strcmp(choice,"5")==0){
			QSort(0,15,"fscore");
			system("cls");
			cout<<endl<<endl;
			for(i=0;i<18;i++){
				if(sch[i].Fescore==0)
					continue;
				cout<<"\t 学校编号:"<<sch[i].sch_num<<" 学校名称:"<<sch[i].sch_name
				    <<endl<<"\t 女子团体总分: "<<sch[i].Fescore<<endl;
				cout<<"\t 按任意键继续!\n";
				cin.ignore();
			}//for
			cout<<"\t 显示完毕!按任意键返回!"<<endl;
			cin.ignore();
		}//if 5
		
		if(strcmp(choice,"6")==0){
			
			cout<<endl<<endl;
			cout<<"\t 请输入项目编号: ";
			cin>>qq;
			cout<<"\t 取前几名?(3或5) ";
			cin>>ss;
			QSort(0,15,"item");
			system("cls");
			cin.ignore();
			for(i=0;i<ss;i++){
				if(sch[i].evit[qq].it_score
					==0)
					continue;
				cout<<"\t 第"<<i+1<<"名:"<<endl;
				cout<<"\t 学校编号:"<<sch[i].sch_num<<" 学校名称:"<<sch[i].sch_name<<endl;
				cout<<"\t 项目编号: "<<sch[i].evit[qq].it_num<<"\t 项目名称:"<<sch[i].evit[qq].it_name<<endl;
				cout<<"\t 该项目总分: "<<sch[i].evit[qq].it_score<<endl;
				cout<<"\t 按任意键继续!\n";
				cin.ignore();
			}//for
			cout<<"\t 显示完毕!按任意键返回!"<<endl;
			cin.ignore();
		}//if 6
		
		if(strcmp(choice,"7")==0){
			return;
		}//if 7
		if((strcmp(choice,"1")!=0)&&(strcmp(choice,"2")!=0)&&(strcmp(choice,"3")!=0)&&(strcmp(choice,"4")!=0)
			&&(strcmp(choice,"5")!=0)&&(strcmp(choice,"6")!=0)&&(strcmp(choice,"7")!=0)){
			cout<<endl;
			cout<<"                  您输入的选择不正确!请重新输入!"<<endl;
			cout<<"                        按任意键继续!";
			cin.ignore();
		}//if
	}//while

 }//Display




 //***************************************************************************************
 //***************************************************************************************
void main(void)
{
	char choice[20],name0[20],name1[20];
	fstream file;
	int i,j,nn;
	file.open("schlist.txt",ios::in|ios::nocreate);
	if(!file){
		cout<<endl<<endl;
		cout<<"    文件打开错误!请确认文件是否存在!若不存在,请创建文本文件schlist.txt";
		return;
	}
	file.getline(name0,20,'\n');
	file.getline(name1,20,'\n');
	nn=atoi(name0);	
	j=0;
	while(!file.eof()){
		sch[j].sch_num=nn;
		strcpy(sch[j].sch_name,name1);
		j++;
		file.getline(name0,20,'\n');
		file.getline(name1,20,'\n');
		nn=atoi(name0);	
	}
	file.close();

	file.open("itemlist.txt",ios::in|ios::nocreate);
	if(!file){
		cout<<endl<<endl;
		cout<<"    文件打开错误!请确认文件是否存在!若不存在,请创建文本文件itemlist.txt";
		return;
	}
	file.getline(name0,20,'\n');
	file.getline(name1,20,'\n');
	nn=atoi(name0);
	while(!file.eof()){

			 for(i=0;i<15;i++){
				 sch[i].evit[nn].it_num=nn;
				 strcpy(sch[i].evit[nn].it_name,name1);			 
			 }//for
			 file.getline(name0,20,'\n');
			 file.getline(name1,20,'\n');
			 nn=atoi(name0);
	}
	file.close();

	while(1){
		system("cls");
		cout<<endl<<endl;
		cout<<"          ---------------------------------------"<<endl;
		cout<<"                        主菜单"<<endl<<endl;
		cout<<"                      1.   成绩编辑;"<<endl;
		cout<<"                      2.   成绩查询;"<<endl;
		cout<<"                      3.    退出;"<<endl;
		cout<<"                        请输入: ";
		cin.getline(choice,81,'\n');
		if(strcmp(choice,"1")==0){
			Edit();
		}//if 1
		else{
			if(strcmp(choice,"2")==0){
				Display();
			}//if 2
			else{
				if(strcmp(choice,"3")==0){
				return;
				}//if 3
				else{
					cout<<endl;
					cout<<"                  您输入的选择不正确!请重新输入!"<<endl;
					cout<<"                        按任意键继续!";
					cin.ignore();
				}//else
			}//else
		}//else
	}//while
	cin.ignore();
}//main
	

⌨️ 快捷键说明

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