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

📄 信管070219号王金龙.c

📁 班级成绩管理系统
💻 C
📖 第 1 页 / 共 3 页
字号:
          
                 
                    
                  }
                if(i==2)
                   {printf("输入要删除的学生的姓名:");
                    scanf("%s",na);
                    getchar();
                  
        
               p1=h;
  
           while(strcmp(na,p1->name)!=0&&p1!=NULL)
              {
               p2=p1;p1=p1->next;
            
              }
            
             if(strcmp(na,p1->name)==0)  
                  {
                    p2->next=p1->next;
                    free(p1);
                    printf("删除成功!\n\n\n");
                  }
             else
                   printf("%s不存在此学生!\n\n\n",na);
                   amount(h);
          
          
            
            
        }
        printf("按学号删除请按1:");
       	printf("按姓名删除请按2:");
       	printf("返回功能菜单按0:");
       	scanf("%d",&i);
       }
       }
       
 return(h);
}



show(StudentList h)
{int k =0;
  student*p,*p1,*p2;int i,j,count;

  float f;char a[10];
   p1=p2=h;
     count=amount(h);
  if(h==NULL)      
    printf("\n没有任何学生资料!\n");
  else
  { for(i=1;i<=count;i++)
               {
             for(j=i+1;j<=count;j++)
                 {
       p2=p1;
       p1=p1->next;
      
        if(p2->studentnumber>p1->studentnumber)
               {
               k=p2->studentnumber;
              p2->studentnumber=p1->studentnumber;
               p1->studentnumber=k;
         /*交换前后结点中的学号值*/
        
               strcpy(a,p2->name);
               strcpy(p2->name,p1->name);
               strcpy(p1->name,a);
     /*交换前后结点中的姓名*/
               f=p2->chinese;
              p2->chinese=p1->chinese;
               p1->chinese=f;
                 /*交换前后结点中的语文成绩*/
      
               f=p2->English;
               p2->English=p1->English;
               p1->English=f;
    /*交换前后结点中的英语成绩*/
       
               f=p2->math;
               p2->math=p1->math;
               p1->math=f;
                /*交换前后结点中的数学成绩*/
                 }

                 }
   p2=h;p1=h;/*重新使max,p指向链表头*/
           }
        
 }

 
     printf("\n\n学号\t姓名\t语文\t英语\t数学\t平均分\t总分\n");
      p=h;
      while (p!=NULL)
          {printf("%d\t%s\t%.1f\t%.1f\t%.1f\t%.1f\t%.1f\t\n",p->studentnumber,p->name,p->chinese,p->English,p->math,p->average,p->sum);
          p=p->next;
          } 
           printf("\n\n\n");
}







statis_data(StudentList h)
{  int i,n=0;student *s;
   float eng_ave,chi_ave,mat_ave,all_ave,sum1=0,sum2=0,sum3=0,sum4=0,max=0;

   printf("统计个人分数请按1:\n");
   printf("统计全班平均分请按2:\n");
   printf("显示语文最高学生按3:\n");
   printf("显示英语最高学生按4:\n");
   printf("显示数学最高学生按5:\n");
   printf("显示总分最高学生按6:\n");
   printf("按0返回功能菜单");
    
   scanf("%d",&i);
   if(i==0)
   printf("已经退出:");
   else
   {if(i==1)
      {printf(" \n\n\n学号\t姓名\t语文\t英语\t数学\t平均分\t总分\t\n");
       while(h!=NULL)
           {printf("%d\t%s\t%.1f\t%.1f\t%.1f\t%.2f\t%.2f\t\n\n\n",h->studentnumber,h->name,h->chinese,h->English,h->math,h->average,h->sum);
            h=h->next;
            }
       }
    if(i==2)
       {while(h!=NULL)
            {   n++;
    	        sum1=sum1+h->chinese;
                sum2=sum2+h->English;
                sum3=sum3+h->math;
                sum4=sum4+h->sum;
                chi_ave=sum1/n;  
                eng_ave=sum2/n;  
                mat_ave=sum3/n; 
                all_ave=sum4/n;
                h=h->next;
            }
          
     printf("人数%d\n",n);
    
    
     printf("语文平均  英语平均  数学平均   总平均\n");
      printf("%.2f\t  %.2f\t    %.2f\t  %.2f\t\n\n\n", chi_ave,eng_ave, mat_ave,all_ave);
      

       }
       
 if(i==3)
 {  
   while(h!=NULL)
  {   if(max<h->chinese)
         {max=h->chinese;
           s=h;
         }
         
         h=h->next;
  }
  printf("语文最高分为:\n");
  printf(" \n\n\n学号\t姓名\t语文\t英语\t数学\t平均分\t总分\t\n");
   printf("%d\t%s\t%.1f\t%.1f\t%.1f\t%.2f\t%.2f\t\n\n\n",s->studentnumber,s->name,s->chinese,s->English,s->math,s->average,s->sum);
  
 
 }
 
 if(i==4)
 {  while(h!=NULL)
  {   if(max<h->English)
         {max=h->English;
           s=h;
         }
         
         h=h->next;
  }
  printf("英语最高分为:\n");
  printf(" \n\n\n学号\t姓名\t语文\t英语\t数学\t平均分\t总分\t\n");
   printf("%d\t%s\t%.1f\t%.1f\t%.1f\t%.2f\t%.2f\t\n\n\n",s->studentnumber,s->name,s->chinese,s->English,s->math,s->average,s->sum);
  
 
 	}
 if(i==5)
 { while(h!=NULL)
  {   if(max<h->math)
         {max=h->math;
           s=h;
         }
         
         h=h->next;
  }
  printf("数学最高分为:\n");
  printf(" \n\n\n学号\t姓名\t语文\t英语\t数学\t平均分\t总分\t\n");
   printf("%d\t%s\t   %.1f\t%.1f\t%.1f\t%.2f\t%.2f\t\n\n\n",s->studentnumber,s->name,s->chinese,s->English,s->math,s->average,s->sum);
  }
 if(i==6)
 { while(h!=NULL)
  {   if(max<h->sum)
         {max=h->sum;
           s=h;
         }
         
         h=h->next;
  }
  printf("总分最高分为:\n");
  printf(" \n\n\n学号\t姓名 \t语文\t英语\t数学\t平均分\t总分\t\n\n\n");
   printf("%d\t%s\t%.1f\t%.1f\t%.1f\t%.2f\t%.2f\t\n",s->studentnumber,s->name,s->chinese,s->English,s->math,s->average,s->sum);
  }      
       
   }     
}








 show1(StudentList h)
{   int i,j;
    printf("按语文成绩请按1:\n");
    printf("按英语成绩请按2:\n");
    printf("按数学成绩请按3:\n");
    printf("返回功能菜单请按0:\n");
    scanf("%d",&i);
    while(i!=0)
     {if(i==1)
        {    printf("显示语文成绩<60的学生:(按1)\n");
             printf("显示语文成绩60<语文<=70的学生:(按2)\n");
             printf("显示语文成绩70<语文<=80的学生:(按3)\n");
             printf("显示语文成绩80<语文<90的学生:(按4)\n");
             printf("显示语文成绩>=90的学生:(按5)\n");
             scanf("%d",&j);
             printf(" \n\n\n学号\t姓名 \t语文\t英语\t数学\t平均分\t总分\t\n\n\n");
             if(j==1)
                 { 
            	
            	      while(h!=NULL)
                        {if(h->chinese<60)
                       
                    printf("%d\t%s\t%.1f\t%.1f\t%.1f\t%.2f\t%.2f\t\n",h->studentnumber,h->name,h->chinese,h->English,h->math,h->average,h->sum);
                         h=h->next;
                        }
               
                 } 

         if(j==2)
                {  while(h!=NULL)
                        {if(h->chinese>=60&&h->chinese<70)
                        printf("%d\t%s\t%.1f\t%.1f\t%.1f\t%.2f\t%.2f\t\n",h->studentnumber,h->name,h->chinese,h->English,h->math,h->average,h->sum);
                         h=h->next;
                        } 
             } 
          if(j==3)
              { while(h!=NULL)
                        {if(h->chinese>=70&&h->chinese<80)
                        printf("%d\t%s\t%.1f\t%.1f\t%.1f\t%.2f\t%.2f\t\n",h->studentnumber,h->name,h->chinese,h->English,h->math,h->average,h->sum);
                         h=h->next;
                       
                        } 
               
             } 
         if(j==4)
              { while(h!=NULL)
                        {if(h->chinese>=80&&h->chinese<90)
                        printf("%d\t%s\t%.1f\t%.1f\t%.1f\t%.2f\t%.2f\t\n",h->studentnumber,h->name,h->chinese,h->English,h->math,h->average,h->sum);
                         h=h->next;
                         
                        } 
               
             } 
        if(j==5)
              { while(h!=NULL)
                        {if(h->chinese>=90)
                        printf("%d\t%s\t%.1f\t%.1f\t%.1f\t%.2f\t%.2f\t\n",h->studentnumber,h->name,h->chinese,h->English,h->math,h->average,h->sum);
                         h=h->next;
                        } 
               
             } 



      
   }
   if(i==2)
{
        printf("显示英语成绩<60的学生:(按1)\n");
         printf("显示英语成绩60<语文<=70的学生:(按2)\n");
        printf("显示英语成绩70<语文<=80的学生:(按3)\n");
        printf("显示英语成绩80<语文<=90的学生:(按4)\n");
        printf("显示英语成绩>90的学生:(按5)\n");
         scanf("%d",&j);
        printf(" \n\n\n学号\t姓名\t语文\t英语\t数学\t平均分\t总分\t\n");
       if(j==1)
            { while(h!=NULL)
                        {if(h->English<60)
                        printf("%d\t%s\t%.1f\t%.1f\t%.1f\t%.2f\t%.2f\t\n",h->studentnumber,h->name,h->chinese,h->English,h->math,h->average,h->sum);
                         h=h->next;
                        } 
               
             } 

         if(j==2)
              {while(h!=NULL)
                        {if(h->English<70 &&h->English>=60)
                        printf("%d\t%s\t%.1f\t%.1f\t%.1f\t%.2f\t%.2f\t\n",h->studentnumber,h->name,h->chinese,h->English,h->math,h->average,h->sum);
                         h=h->next;
                        } 
               
               
             } 
          if(j==3)
              {while(h!=NULL)
                        {if(h->English<80 &&h->English>=70)
                         printf("%d\t%s\t%.1f\t%.1f\t%.1f\t%.2f\t%.2f\t\n",h->studentnumber,h->name,h->chinese,h->English,h->math,h->average,h->sum);
                         h=h->next;
                        } 
               
               
             } 
         if(j==4)
              {while(h!=NULL)
                        {if(h->English<90 &&h->English>=80)
                         printf("%d\t%s\t%.1f\t%.1f\t%.1f\t%.2f\t%.2f\t\n",h->studentnumber,h->name,h->chinese,h->English,h->math,h->average,h->sum);
                         h=h->next;
                        } 
               
               
             } 
        if(j==5)
              {while(h!=NULL)
                        {if(h->English>=90)
                         printf("%d\t%s\t%.1f\t%.1f\t%.1f\t%.2f\t%.2f\t\n",h->studentnumber,h->name,h->chinese,h->English,h->math,h->average,h->sum);
                         h=h->next;
                       
                        } 
               
               
             } 
}
if(i==3)
{
        printf("显示数学成绩<60的学生:(按1)\n");
         printf("显示数学成绩60<语文<=70的学生:(按2)\n");
        printf("显示数学成绩70<语文<=80的学生:(按3)\n");
        printf("显示数学成绩80<语文<=90的学生:(按4)\n");
        printf("显示数学成绩>90的学生:(按5)");
         scanf("%d",&j);
         printf(" \n\n\n学号\t姓名\t语文\t英语\t数学\t平均分\t总分\t\n");
       if(j==1)
            {while(h!=NULL)
                   { if(h->math<60)
                    printf("%d\t%s\t%.1f\t%.1f\t%.1f\t%.2f\t%.2f\t\n",h->studentnumber,h->name,h->chinese,h->English,h->math,h->average,h->sum);
                         h=h->next;
                     }
               
             } 

         if(j==2)
              {while(h!=NULL)
                   { if(h->math<70 &&h->math>=60)
                   printf("%d\t%s\t%.1f\t%.1f\t%.1f\t%.2f\t%.2f\t\n",h->studentnumber,h->name,h->chinese,h->English,h->math,h->average,h->sum);
                         h=h->next;
                     }
               
             } 
          if(j==3)
              {while(h!=NULL)
                   { if(h->math<80 &&h->math>=70)
                   printf("%d\t%s\t%.1f\t%.1f\t%.1f\t%.2f\t%.2f\t\n",h->studentnumber,h->name,h->chinese,h->English,h->math,h->average,h->sum);
                         h=h->next;
                         ;
                     }
             } 
         if(j==4)
              {while(h!=NULL)
                   { if(h->math<90 &&h->math>=80)
                    printf("%d\t%s\t%.1f\t%.1f\t%.1f\t%.2f\t%.2f\t\n",h->studentnumber,h->name,h->chinese,h->English,h->math,h->average,h->sum);
                         h=h->next;
                     }
               
             } 
        if(j==5)
              {while(h!=NULL)
                   { if(h->math>=90)
             printf("%d\t%s\t%.1f\t%.1f\t%.1f\t%.2f\t%.2f\t\n",h->studentnumber,h->name,h->chinese,h->English,h->math,h->average,h->sum);
                         h=h->next;
                     }
               
             } 
}


    printf("按语文成绩请按1:\n");

⌨️ 快捷键说明

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