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

📄 sportsmeeting.cpp

📁 运动会分数统计系统 运动会分数统计系统
💻 CPP
📖 第 1 页 / 共 2 页
字号:
t->total=t1->total;t1->total=t2->total;t2->total=t->total;
}

struct  statitcs *set_place(struct  statitcs *t)
{ int i=1;
struct  statitcs *p,*q;
p=t;
if(p==NULL)return t;
else
{ p->no=1;
while(p->next!=NULL)
{ q=p->next;

a:if((q->total==p->total))
  { q->no=p->no;q=q->next;
  if(q==NULL) return t;
  goto a;}
  if(q==NULL) return t;
  else{ p=q;i++;p->no=i;}
}
}
return  t;
}

struct  statitcs *  sort( struct  statitcs *t)
{ struct  statitcs *p1,*p2;
p1=t;
while(p1!=NULL)
{  p2=p1->next;
    
    while(p2!=NULL)
        { if((p1->total)<(p2->total))
            swap(p1,p2);
          p2=p2->next;
        }
  p1=p1->next;
}
return  t;
}

void  show(struct  statitcs *t,struct  school *t1)
{ struct  statitcs *p;
p=t;
while(p!=NULL)
{    
         cout<<"\n学校编号"<<p->flag<<endl;
         cout<<"项目\t"<<"姓名\t"<<"成绩"<<endl;
         display(t1,p->flag);
         cout<<"\t总成绩"<<p->total<<"\t总名次:"<<p->no<<endl;
p=p->next;
}
}

struct  statitcs *creat(struct  school *t)
{ int a[100];int i=0;int flag1;
struct  statitcs *head,*rear,*p;
struct  school *k;k=t;
head=NULL;if(k==NULL)return NULL;
p=(struct statitcs *)malloc(len1);
p->flag=k->num;
p->total=total1(t,p->flag);
if(head==NULL)
head=p;rear=p;
k=k->next;
a<i>=p-&gt;flag;
while(k!=NULL)
{ flag1=1;
for(int m=0;m&lt;=i;m++)
  if(a[m]==k-&gt;num)
          flag1=0;
if(flag1)
{ p=(struct statitcs *)malloc(len1);
p-&gt;flag=k-&gt;num; i++;a<i>=p-&gt;flag;
p-&gt;total=total1(t,p-&gt;flag);
rear-&gt;next=p;rear=p;}
k=k-&gt;next;
}
rear-&gt;next=NULL;
return head;
}
void  swap1(struct  school *t1, struct  school *t2)
{ struct  school *t;
t=(struct school *)malloc(len);
t-&gt;num=t1-&gt;num;t1-&gt;num=t2-&gt;num;t2-&gt;num=t-&gt;num;
t-&gt;score=t1-&gt;score;t1-&gt;score=t2-&gt;score;t2-&gt;score=t-&gt;score;
strcmp(t-&gt;name,t1-&gt;name);strcmp(t1-&gt;name,t2-&gt;name);strcmp(t2-&gt;name,t-&gt;name);
}
struct  school  *  sort1( struct  school *t,int n)
{ struct   school *p1,*p2;
p1=t;
while(p1!=NULL)
{  p2=p1-&gt;next;
    
    while(p2!=NULL&&p1-&gt;project_num==n&&p2-&gt;project_num==n)
        { if((p1-&gt;score)&lt;(p2-&gt;score))
            swap1(p1,p2);
          p2=p2-&gt;next;
        }
  p1=p1-&gt;next;
}
return  t;
}
/*struct  school *setplace1(struct  school *t,int n)
{ int i=1;
struct  school *p,*q;
p=t;
if(p==NULL)return t;
else
{ if(p-&gt;project_num==n)
p-&gt;no=1;
while(p-&gt;next!=NULL)
{ q=p-&gt;next;
a:if((q-&gt;score==p-&gt;score)&&p-&gt;project_num==n&&q-&gt;project_num==n)
  { q-&gt;no=p-&gt;no;q=q-&gt;next;
  if(q==NULL) return t;
  goto a;}
  if(q==NULL) return t;
  else{ p=q;
  if((q-&gt;score==p-&gt;score)&&p-&gt;project_num==n&&q-&gt;project_num==n)
  { i++;p-&gt;no=i;}}
}
}
return  t;
}
*/
void show1(struct  school *t,int n)
{ struct  school *p;
p=t;
cout&lt;&lt;"项目:"&lt;&lt;n&lt;&lt;"\n学校编号\t"&lt;&lt;"姓名\t"&lt;&lt;"成绩\t"&lt;&lt;endl;
while(p!=NULL)
{ if(p-&gt;project_num==n)
  cout&lt;&lt;p-&gt;num&lt;&lt;"\t\t"&lt;&lt;p-&gt;name&lt;&lt;"\t"&lt;&lt;p-&gt;score&lt;&lt;"\t"&lt;&lt;endl;
p=p-&gt;next;
}
}

void  sort_display(struct  school *t)
{ int a[100];int i=0;int flag1;
struct  school *k;k=t;
if(k==NULL)cout&lt;&lt; "NULL\n";
a<i>=k-&gt;project_num;
k=k-&gt;next;
while(k!=NULL)
{ flag1=1;
for(int m=0;m&lt;=i;m++)
  if(a[m]==k-&gt;project_num)
          flag1=0;
if(flag1)
{ i++;a<i>=k-&gt;project_num;}
k=k-&gt;next;
}
for(int m=0;m&lt;=i;m++)
{ t=sort1(t,a[m]);
//setplace1(t,a[m]);
show1(t,a[m]);
}
}

void main()
{ struct  school *t;struct statitcs *s;char a;int flag=1,flag1=1,flag2=1;
t=NULL;
cout&lt;&lt;"\t\t***************************************************\n";
cout&lt;&lt;" \t\t    *请勿盗版*\t   *请勿盗版*\t  *请勿盗版*\n ";  
cout&lt;&lt;"\t\t\t\t产品信息:\n\t\t\t\t学号:020410107\n\t\t\t\t姓名:胡小勇\n\t\t\t\t电子邮件:huxiaoyong1983@163.com\n\t\t\t\t电话:0631-5696421\n";
cout&lt;&lt;" \t\t\t\t使用有问题 请与我联系\n\t\t    *请勿盗版*\t   *请勿盗版*\t  *请勿盗版*\n ";    
cout&lt;&lt;"\t\t***************************************************\n";     
cout&lt;&lt;"\t\t***************************************************\n";
cout&lt;&lt;"\t\t\t      运动会信息管理系统\n\t\t\t\t1:创建信息\n\t\t\t\t2:添加信息\n\t\t\t\t3:删除信息\n\t\t\t\t4:查找信息\n\t\t\t\t5:排序并显示\n\t\t\t\t6:退出\n";
cout&lt;&lt;"\t\t***************************************************\n";
cin&gt;&gt;a;
while(a!='6')
{ switch(a)
{ case'1':flag=0;flag1=0;flag2=0;
       t=insert();
           cout&lt;&lt;"你输入的所有信息\n"; 
           print(t);break;
case'2':cout&lt;&lt;"*****************\n1:添加一条信息\n2:退出\n*****************\n";
            cin&gt;&gt;a;
                while(a!='2')
                { switch(a)
                { case'1':t=add(t);break;
         default:cout&lt;&lt;"\n请正确输入\n";break;
                }
        cout&lt;&lt;"*****************\n1:添加一条信息\n2:退出\n*****************\n";
                cin&gt;&gt;a;
                }
        print(t);
                break;
case'3':if(flag==1)
                { cout&lt;&lt;"\t\t请先输入数据\n";break;}
            cout&lt;&lt;"\t\t***************************************************\n";
            cout&lt;&lt;"\t\t\t1:删除某一学校某一项目某一姓名某一成绩的信息\n\t\t\t2:删除某一学校的信息\n\t\t\t3:删除某一项目的信息\n\t\t\t4:删除某一姓名的信息\n\t\t\t5:退出\n";
        cout&lt;&lt;"\t\t***************************************************\n";
                cin&gt;&gt;a;
                while(a!='5')
                { switch(a)
                { case'1':t=deletes(t); cout&lt;&lt;"删除后的信息\n";print(t);break;
                case'2':t=deletes1(t);cout&lt;&lt;"删除后的信息\n"; print(t);break;
                case'3':t=deletes2(t); cout&lt;&lt;"删除后的信息\n"; print(t);break;
                case'4':t=deletes3(t); cout&lt;&lt;"删除后的信息\n";print(t);break;
                default:cout&lt;&lt;"请正确输入\n";break;
                }
                cout&lt;&lt;"\t\t***************************************************\n";
                cout&lt;&lt;"\t\t\t1:删除某一学校某一项目某一姓名某一成绩的信息\n\t\t\t2:删除某一学校的信息\n\t\t\t3:删除某一项目的信息\n\t\t\t4:删除某一姓名的信息\n\t\t\t5:退出\n";
                cout&lt;&lt;"\t\t***************************************************\n";
                cin&gt;&gt;a;
                }        
                break;
case'4':if(flag2==1)
                { cout&lt;&lt;"\t\t请先输入数据\n";break;}
        cout&lt;&lt;"\t\t***************************************************\n";
            cout&lt;&lt;"\t\t\t1:查找所有信息\n\t\t\t2:查找某一学校的信息\n\t\t\t3:查找某一项目的信息\n\t\t\t4:查找某一姓名的信息\n\t\t\t5:退出\n";
        cout&lt;&lt;"\t\t***************************************************\n";
                cin&gt;&gt;a;
        while(a!='5')
                { switch(a)
                { case'1':find(t);break;
                case'2':find1(t);break;
                case'3':find2(t);break;
                case'4':find3(t);break;
                default:cout&lt;&lt;"请正确输入\n";break;
                }  
                cout&lt;&lt;"\t\t***************************************************\n";
            cout&lt;&lt;"\t\t\t1:查找所有信息\n\t\t\t2:查找某一学校的信息\n\t\t\t3:查找某一项目的信息\n\t\t\t4:查找某一姓名的信息\n\t\t\t5:退出\n";
        cout&lt;&lt;"\t\t***************************************************\n";
                cin&gt;&gt;a;
                }
                break;
case'5':if(flag1==1)
                { cout&lt;&lt;"\t\t请先输入数据\n";break;}
            cout&lt;&lt;"\t\t*************************************\n";
            cout&lt;&lt;"\t\t1:按学校总成绩排序\n\t\t2:按每个项目的成绩高低排序\n\t\t3:退出\n";
                cout&lt;&lt;"\t\t*************************************\n";
            cin&gt;&gt;a;
                while(a!='3')
                { switch(a)
                { case'1':s=creat(t);s=sort(s);s=set_place(s);show(s,t);break;
                case'2':sort_display(t);break;
            default:cout&lt;&lt;"请正确输入\n";break;
                }
                cout&lt;&lt;"\t\t*************************************\n";
            cout&lt;&lt;"\t\t1:按学校总成绩排序\n\t\t2:按每个项目的成绩高低排序\n\t\t3:退出\n";
                cout&lt;&lt;"\t\t*************************************\n";
            cin&gt;&gt;a;
                }
                break;
default:cout&lt;&lt;"请正确输入\n";
}
cout&lt;&lt;"\t\t***************************************************\n";
cout&lt;&lt;"\t\t\t      运动会成绩信息系统\n\t\t\t\t1:创建信息\n\t\t\t\t2:添加信息\n\t\t\t\t3:删除信息\n\t\t\t\t4:查找信息\n\t\t\t\t5:排序并显示\n\t\t\t\t6:退出\n";
cout&lt;&lt;"\t\t***************************************************\n";
cin&gt;&gt;a;
}
cout&lt;&lt;"谢谢使用\n";
}

⌨️ 快捷键说明

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