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