📄 sports.cpp
字号:
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 + -