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

📄 wancheng1.c

📁 比较详细的学生信息管理系统
💻 C
📖 第 1 页 / 共 2 页
字号:
 for(i=0;i<n-1;i++)
 { flag=1;
   p2=head;
   p1=p2->next;
   for(j=0;j<n-i-1;j++)
   { if(p2->english<p1->english)
       { t=p2->num;
         p2->num=p1->num;
         p1->num=t;
         strcpy(b,p2->name);
         strcpy(p2->name,p1->name);
         strcpy(p1->name,b);
         x=p2->sex;
         p2->sex=p1->sex;
         p1->sex=x;
         x=p2->age;
         p2->age=p1->age;
         p1->age=x;
         strcpy(b,p2->major);
         strcpy(p2->major,p1->major);
         strcpy(p1->major,b);
         x=p2->english;
         p2->english=p1->english;
         p1->english=x;
         x=p2->math;
         p2->math=p1->math;
         p1->math=x;
         x=p2->program;
         p2->program=p1->program;
         p1->program=x;
         x=p2->amount;
         p2->amount=p1->amount;
         p1->amount=x;
         flag=0;     
       }
     p2=p1;
     p1=p1->next;
   }
   if(flag) break;
 }print(head);
}
void order_MATH(struct student *head,int n)                       /*按数学成绩排序*/
{char b[20];int x;
 int i,j,flag;
 int num,t;
 struct student *p1,*p2;
 for(i=0;i<n-1;i++)
 { flag=1;
   p2=head;
   p1=p2->next;
   for(j=0;j<n-i-1;j++)
   { if(p2->math<p1->math)
       { t=p2->num;
         p2->num=p1->num;
         p1->num=t;
         strcpy(b,p2->name);
         strcpy(p2->name,p1->name);
         strcpy(p1->name,b);
         x=p2->sex;
         p2->sex=p1->sex;
         p1->sex=x;
         x=p2->age;
         p2->age=p1->age;
         p1->age=x;
         strcpy(b,p2->major);
         strcpy(p2->major,p1->major);
         strcpy(p1->major,b);
         x=p2->english;
         p2->english=p1->english;
         p1->english=x;
         x=p2->math;
         p2->math=p1->math;
         p1->math=x;
         x=p2->program;
         p2->program=p1->program;
         p1->program=x;
         x=p2->amount;
         p2->amount=p1->amount;
         p1->amount=x;
         flag=0;        
       }
     p2=p1;
     p1=p1->next;
   } 
   if(flag) break;
 }print(head);
}
void order_PRO(struct student *head,int n)                      /*按C语言成绩排序*/
{char b[20];int x;
 int num,t;
 int i,j,flag;
 struct student *p1,*p2;
 for(i=0;i<n-1;i++)
 { flag=1;
   p2=head;
   p1=p2->next;
   for(j=0;j<n-i-1;j++)
   { if(p2->program<p1->program)
       { t=p2->num;
         p2->num=p1->num;
         p1->num=t;
         strcpy(b,p2->name);
         strcpy(p2->name,p1->name);
         strcpy(p1->name,b);
          x=p2->sex;
         p2->sex=p1->sex;
         p1->sex=x;
         x=p2->age;
         p2->age=p1->age;
         p1->age=x;
         strcpy(b,p2->major);
         strcpy(p2->major,p1->major);
         strcpy(p1->major,b);
         p2->english=p1->english;
         p1->english=x;
         x=p2->math;
         p2->math=p1->math;
         p1->math=x;
         x=p2->program;
         p2->program=p1->program;
         p1->program=x;
         x=p2->amount;
         p2->amount=p1->amount;
         p1->amount=x;
         flag=0;         
       }
     p2=p1;
     p1=p1->next;
   }
   if(flag) break;
 }print(head);
}
void order_sum(struct student *head,int n)                      /*按总成绩排序*/
{char b[20];
  int x;
 int i,j,flag;
 int num,t;
 struct student *p1,*p2;
 for(i=0;i<n-1;i++)
 { flag=1;
   p2=head;
   p1=p2->next;
   for(j=0;j<n-i-1;j++)
   { if(p2->amount<p1->amount)
       { t=p2->num;
         p2->num=p1->num;
         p1->num=t;
         strcpy(b,p2->name);
         strcpy(p2->name,p1->name);
         strcpy(p1->name,b);
          x=p2->sex;
         p2->sex=p1->sex;
         p1->sex=x;
         x=p2->age;
         p2->age=p1->age;
         p1->age=x;
         strcpy(b,p2->major);
         strcpy(p2->major,p1->major);
         strcpy(p1->major,b);
         p2->english=p1->english;
         p1->english=x;
         x=p2->math;
         p2->math=p1->math;
         p1->math=x;
         x=p2->program;
         p2->program=p1->program;
         p1->program=x;
         x=p2->amount;
         p2->amount=p1->amount;
         p1->amount=x;
         flag=0;         
       }
     p2=p1;
     p1=p1->next;
   }
   if(flag) break;
 }print(head);
}







/* 显示全部记录函数*/
void print(struct student *head)
{     /* 统计记录条数*/
 struct student *p;  /*移动指针*/
 clrscr();
 p=head;      /*初值为头指针*/
 printf("\n                                    STUDENT\n\n");
 printf("___________________________________________________________________________\n");
 printf("| 学号 |  姓名 |  性别 |  年龄 |   专业   |  英语  |   数学   |  C语言 |  总分 \n");
 printf("___________________________________________________________________________\n");
 while(p!=NULL)
   {
    n++;
 printf("|  %d  |   %s  |   %d  |   %d  |    %s    |   %d   |    %d    |   %d   |   %d   \n",
     p->num,p->name,p->sex,p->age,p->major,p->english,p->math,p->program,p->amount);
    putchar('\n');
    p=p->next;
   }
 printf("___________________________________________________________________________\n");
 printf("                                     END\n");
}



main()/*主函数*/
{
/*struct student *head;*/

int Menu=0;
int submenu=0;/*表示菜单项,主菜单,子菜单*/
printf("\n\t\t********Students information manage system.********\n");
while(Menu!=11)
  {
    submenu=0;
    printf("\
        \n\
        1>.学生信息录入。\n\
        2>.修改学生信息。\n\
        3>.删除学生信息。\n\
        4>.排序。\n\
        5>.查找学生信息。\n\
        6>.增加学生信息。\n\
        7>.成绩统计。\n\
        8>.保存文件。\n\
        9>.读取文件。\n\
        10>.显示学生记录\n\
        11>.退出系统。\n");
    printf("\n输入命令执行菜单:");
    scanf("%d",&Menu);

    switch(Menu)
    {
    case 1:
        clrscr();
        create();
        getch();
        break;
    case 2:
        clrscr();
        correct(head);
        print(head);
        getch();
        break;
    case 3:
        clrscr();
        delet(head);
        getch();
        break;
    case 4:
        clrscr();
        while(submenu!=5)
        {
            printf("\t****排序****\n\
            1>.按英语成绩排序。\n\
            2>.按数学成绩排序。\n\
            3>.按C语言程序设计排序。\n\
            4>.按总分排序。\n\
            5>.返回主菜单。\n");
          printf("\n\t输入命令执行菜单:");
              scanf("%d",&submenu);
         
          switch(submenu)
          {case 1:
                clrscr();
                order_ENG(head,n);
                getch();
                break;
            case 2:
                clrscr();
                order_MATH(head,n);
                getch();
                break;
            case 3:
                clrscr();
                order_PRO(head,n);
                getch();
                break;
            case 4:
                clrscr();
                order_sum(head,n);
                getch();
                break;
            case 5:
                break;
            default:
                break;
          }
        }
        break;

    case 5:
        clrscr();
        search(head);
        getch();
        break;
    case 6:
        clrscr();
        add(head);
        getch();
        break;
    case 7:
        clrscr();
        while(submenu!=4)
        {
            printf("\t****统计****\n\
            1>.英语成绩统计。\n\
            2>.数学成绩统计。\n\
            3>.C语言成绩统计。\n\
            4>.返回主菜单。\n");
             printf("\n\t输入命令执行菜单:");
              scanf("%d",&submenu);
         
           switch(submenu)
           {case 1:
                 clrscr();
                 C_ENG(head);
                 getch();
                 break;
            case 2:
                 clrscr();
                 C_MATH(head);
                 getch();
                 break;
            case 3:
                 clrscr();
                 C_PRO(head);
                 getch();
                 break;
            case 4:
                break;
            default:
                break;
           }
        }
        break;

    
    case 8:
        clrscr();
        save();
        getch();
        break;
    case 9:
        clrscr();
        op();
        break;
    case 10:
        clrscr();
        print(head);
        getch();
        break;
    case 11:
        exit(0);
    default:
        break;
    }
  }
  printf("End************Student information mange system****\n");
  printf("\t\t\t\t\t\tPress any key to exit...");
  getch();
}

                  
         

    

⌨️ 快捷键说明

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