久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術(shù)學習與研究
當前位置:單片機教程網(wǎng) >> MCU設(shè)計實例 >> 瀏覽文章

C語言學生成績管理系統(tǒng)源代碼

作者:huqin   來源:本站原創(chuàng)   點擊數(shù):  更新時間:2014年04月04日   【字體:

程序代碼:

#include<stdio.h>

#include<stdlib.h>

#include<string.h>

#define SIZE 3 /*定義常量SIZE便于以后的修改*/

struct student /*定義一個結(jié)構(gòu)體數(shù)組存放學生的信息*/

{

    int number; /*學號*/

    char name[20];/*名字*/

    char xueyuan[20];/*學院*/

    int cla;/*班級*/

    int score[3];/*分數(shù)*/

    int sum;/*總分*/

    int average;/*平均分*/

}stu[SIZE];

 

void menu();/*調(diào)用菜單函數(shù)*/

void write();/*讀入信息*/

void save(int x);/*保存stud.dat文件函數(shù)*/

void SaveOneStudent(int i);/*保存一個學生信息*/

void SaveAllStudent(int n);/*保存全部學生信息*/

void inturn (struct student c[]);/*用于對學生的信息按學號排序的函數(shù)*/

void save2();/*將排序后的信息存入student.dat文件中*/

int AddStudent(int n);/*增加學生信息*/

void InputOnestudent(int i);/*輸入一個同學信息*/

int DelStudent(int n);/*刪除學生信息*/

void ModifyStudent(int n);/*修改學生信息*/

void OutputOneStudent(int i);/*查詢一個學生信息*/

void SearchMenu(int n);/*查詢學生信息操作*/

void SearchNumber(int n);/*按學號查詢學生信息*/

void SearchName(int n);/*按姓名查詢學生信息*/

void SearchXueyuan(int n);/*按所在學院查詢學生信息*/

void SearchCla(int n);/*按所在班級查詢學生信息*/

void tongji();/*學生信息統(tǒng)計操作*/

void tongji2();/*統(tǒng)計不及格率操作*/

void zfsc();/*總分排序操作*/

void avecz();/*按平均分統(tǒng)計人數(shù)操作*/

void avecz();/*按平均分統(tǒng)計人數(shù)操作*/

void search();/*查找最高成績操作*/

void tongji2();/*統(tǒng)計不及格率操作*/

void read();/*讀取student.dat文件文件中學生的信息*/

 

/*主函數(shù)************************************************************************************/

void main()

{

    int n=SIZE;

    int choice;/*用戶選擇變量*/

    printf("*******************************************************************************\n");

    printf("*                                                                             *\n");

    printf("*          Hwadee            &學生成績文件管理&          Hwadee               *\n");

    printf("*                                                                             *\n");

    printf("*******************************************************************************\n\n\n");

    printf("******************************●●歡迎使用●●*********************************");

    while (1)

    {

         menu();/*調(diào)用菜單函數(shù)形成操作界面*/

         printf("請選擇:");

         scanf("%d", &choice);

         if ( choice==0 )

         {

              printf("\t\t\t\t謝謝使用!!!");

              break;

          }

       switch(choice) /*多重選擇實現(xiàn)功能不同的功能*/

       {  

            case 1:

                write();

              inturn(stu);

              save(SIZE);

                break;

            case 2:

              AddStudent(n);

                break;

           case 3:

              DelStudent(n);

              break;

           case 4:

                ModifyStudent(n);

              break;

           case 5:

              SearchMenu(n);

              break;

           case 6:

              tongji();

              break;

           case 0:

              printf("\n謝謝使用!再見!\n");

           default:

              printf("\n按鍵錯誤!請重新選擇!\n");

       }/*結(jié)束switch*/

    }/*結(jié)束while*/

}

 
部分程序清單

/*菜單函數(shù)*************************************************************************************/

void menu()

{

    printf("************請輸入所需操作***********\n");/*選擇功能菜單*/

    printf("*************************************\n");

    printf("1.學生成績寫入及排序\n");

    printf("2.增加學生信息\n");

    printf("3.刪除學生信息\n");

    printf("4.修改學生信息\n");                             

    printf("5.查詢學生信息\n");

    printf("6.學生成績統(tǒng)計操作\n");

    printf("0.退出系統(tǒng)\n");

    printf("**************************************\n");

}

 

/*寫入函數(shù)*************************************************************************************/

void write()

{

    int i;/*計數(shù)變量*/

    for(i=0;i<SIZE;i++)

    {

        printf("學號:");

        scanf("%d",&stu[i].number);

        printf("姓名:");

        scanf("%s",&stu[i].number);

        printf("學院:");

        scanf("%s",&stu[i].xueyuan);

        printf("班級:");

        scanf("%d",&stu[i].cla);

        printf("高數(shù):");

        scanf("%d",&stu[i].score[0]);

        printf("英語:");

        scanf("%d",&stu[i].score[1]);

        printf("C語言:");

        scanf("%d",&stu[i].score[2]);

        stu[i].sum=(stu[i].score[0]+stu[i].score[1]+stu[i].score[2]);/*計算總成績*/

        printf("總成績:%d",stu[i].sum);

        stu[i].average=(stu[i].score[0]+stu[i].score[1]+stu[i].score[2])/3;/*計算平均成績*/

        printf("平均成績:%d\n",stu[i].average);

    }

}

 

/*排序函數(shù)**************************************************************************************/

void inturn(struct student m[])

{

    int i,j;/*計數(shù)變量*/

    struct student temp;/*中間變量 類型為結(jié)構(gòu)體*/

    for(i=0;i<SIZE-1;i++) /*運用冒泡排序?qū)Y(jié)構(gòu)體數(shù)組進行排序*/

    for (j=i+1;j<SIZE-i-1;j++)

    {

       if(m[i].number>m[j].number)

       {

           temp=m[i];

           m[i]=m[j];

           m[j]=temp;

       }

    }

    printf("\n排序后的學生信息:\n\n");

    for (i=0;i<SIZE;i++)

    {

        printf("學號%d\t姓名%s\t學院%s\t班級%d\t高數(shù)%d\t英語%d\tC語言%d\t總成績%d\t平均成績%d\n\n",i+1,stu[i].number,stu[i].name,stu[i].xueyuan,stu[i].cla,stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].sum,stu[i].average);

    }/*輸出排序后的學生信息*/ 

}

/*寫入文件*************************************************************************************/

void save(int x)

{

    FILE *fp;/*定義文件指針用于向文件讀入數(shù)據(jù)*/

    int i;

    if((fp=fopen("student.dat","rb+"))==NULL)/*以二進制讀,寫方式打開文件*/

    {

        printf("cannot open file\n");

       exit(1);

    }

    for(i=0;i<SIZE;i++)

        if(fwrite(&stu[i],sizeof(struct student),1,fp)!=1)

            printf("file write error\n");

    fclose(fp);

    printf("\n信息保存成功!恭喜!!\n");

}

 

/*保存一個學生信息******************************************************************************/

void SaveOneStudent(int i)

{

    FILE *fp;

    if((fp=fopen("student.dat","rb+"))==NULL)/*以二進制讀,寫方式打開文件*/

    {

        printf("文件打開失敗!\n");

        exit(1);

    }

    fseek(fp,i,0);/*文件指針定位到第i個學生*/

    fwrite(&stu[i],sizeof(struct student),1,fp);/*將第i個學生信息寫入文件*/

    fclose(fp);

}

 

/*保存全部學生信息******************************************************************************/

void SaveAllStudent(int n)/*保存全部學生信息*/

{

    FILE *fp;

    if((fp=fopen("student.dat","wb"))==NULL)/*以二進制寫方式打開文件*/

    {

        printf("文件打開失敗!\n");

        exit(1);

    }

    fwrite(stu,sizeof(struct student),n,fp);/*將數(shù)組stu中全部學生信息寫入文件*/

    fclose(fp);

}

 

/*將排序后的學生信息讀入到另外的文件中**********************************************************/

void save2()

{

    FILE *fp;

    int i;

    if((fp=fopen("stud.dat","rb+"))==NULL)/*以二進制讀,寫方式打開文件*/

    {

        printf("文件打開失敗!\n");

        exit(1);

    }

    for (i=0;i<SIZE;i++)

        if (fwrite(&stu[i],sizeof(struct student),1,fp)!=1)

        printf("file write error\n");

    fclose(fp);/*讀取完畢關(guān)閉文件*/

}

 

/*增加學生信息*********************************************************************************/

int AddStudent(int n)

{

    char c='y';

    FILE *fp;

    if((fp=fopen("student.dat","ab"))==NULL)/*以二進制追加方式打開文件*/

    {

        printf("文件打開失敗!\n");

        exit(1);

    }

    while(c=='y')

    {

        printf("\n請輸入要增加的同學的信息:");

        InputOnestudent(n);/*調(diào)用函數(shù)輸入第n個學生信息*/

       fwrite(&stu[n],sizeof(struct student),1,fp);/*將第n個學生信息保存至文件*/

       n++;/*學生數(shù)量增加1*/

        printf("\n繼續(xù)輸入其他同學信息嗎?\n");

        printf("確定進行刪除請按y;不進行刪除請按n\n");

       c=getchar();

        getchar();

    }/*結(jié)束while*/

    printf("\n按任意鍵繼續(xù)!\n");

    getchar();

    fclose(fp);

    return(n);

}

 

/*輸入一個同學信息*****************************************************************************/

void InputOnestudent(int i)

{

    printf("學號\t姓名\t學院\t班級\t高數(shù)\t英語\tC語言\n");

    scanf("%d\t%s\t%s\t%d\t%d\t%d\t%d\t\n",&stu[i].number,stu[i].name,stu[i].xueyuan,&stu[i].cla,&stu[i].score[0],&stu[i].score[1],&stu[i].score[2]);      

    stu[i].sum=(stu[i].score[0]+stu[i].score[1]+stu[i].score[2]);/*計算總成績*/      

    stu[i].average=(stu[i].score[0]+stu[i].score[1]+stu[i].score[2])/3;/*計算平均成績*/

}

 

/*刪除學生信息*********************************************************************************/

int DelStudent(int n)

{

    int i,k=-1,x;

    char c1='y',c2;

    while(c1=='y')

    {

       c2='n';

        printf("\n請輸入要刪除的同學的學號:");

        scanf("%d",&x);

        for(i=0;i<n;i++)

           if(x==stu[i].number)

           {

               k=i;/*找到要刪除的同學學號,并用k記下其下標*/

               break;

           }

        if(k<0)/*k<0表示在數(shù)組中沒有找到輸入學號對應(yīng)的學生*/

            printf("\n輸入學號有誤,請重新輸入!");

        else

       {

            printf("\n該同學信息如下:\n");

            InputOnestudent(k);

            printf("\n確定刪除?\n");

            printf("確定進行刪除請按y;不進行刪除請按n\n");

           c2=getchar();

           getchar();

           if(c2=='y')/*c2為y,表示確定進行刪除操作*/

           {

               for(i=k;i<n;i++)

                  stu[i]=stu[i+1];/*刪除第k個學生信息*/

               n--;/*學生人數(shù)減1*/

               printf("刪除成功!恭喜!!\n");

           }

           else

               printf("\n取消刪除!\n");

            printf("\n繼續(xù)刪除操作嗎?");

            printf("\n繼續(xù)刪除請按y;不進行刪除請按n\n");

           c1=getchar();

           getchar();

       }

    }/*結(jié)束while*/

    save(n);

    printf("\n按任意鍵繼續(xù)!\n");

    getchar();

    return(n);

}

 

/*修改學生信息********************************************************************************/

void ModifyStudent(int n)

{

    struct student temp;

    int k=-1,x,i;

    char c1='y',c2;

    while(c1=='y')

    {

       c2='y';

        printf("\n請輸入要修改的同學的學號:");

        scanf("%d",&x);

        for(i=0;i<n;i++)

           if(x==stu[i].number)

           {

               k=i;/*找到要修改的同學學號,并用k記下其下標*/

               break;

           }

        if(k<0)/*k<0表示在數(shù)組中沒有找到輸入學號對應(yīng)的學生*/

            printf("\n輸入學號有誤,請重新輸入!");

        else

       {

            printf("請輸入要修改學生修改后的的信息\n");

            printf("學號\t姓名\t學院\t班級\t高數(shù)\t英語\tC語言\t\n");

            scanf("%d\t%s\t%s\t%d\t%d\t%d\t%d\t\n",&temp.number,stu[i].name,temp.xueyuan,&temp.cla,&temp.score[0],&temp.score[1],&temp.score[2]);      

           temp.sum=(temp.score[0]+temp.score[1]+temp.score[2]);/*計算總成績*/      

           temp.average=(temp.score[0]+temp.score[1]+temp.score[2])/3;/*計算平均成績*/

            stu[k]=temp;/*修改該學生信息*/

            printf("\n修改成功!恭喜!!\n");

           break;

       }

        SaveAllStudent(k);/*保存修改后的學生信息*/

        printf("\n繼續(xù)修改操作嗎?");

        printf("\n繼續(xù)修改請按y;不進行修改請按n\n");

       c1=getchar();

        getchar();

    }/*結(jié)束while*/

    printf("\n按任意鍵繼續(xù)!\n");

    getchar();

}

 

/*查詢一個學生信息**********************************************************************************/

void OutputOneStudent(int i)

{

    printf("學號:%d  姓名:%s  學院:%s  班級:%d\n",stu[i].number,stu[i].name,stu[i].xueyuan,stu[i].cla);

    printf("高數(shù):%d  英語:%d  C語言:%d  總分:%d  平均分:%d\n",stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].sum,stu[i].average);

}

 

/*查詢學生信息操作*********************************************************************************/

void SearchMenu(int n)

{

    int selet;

    while(1)

    {

        printf("**********************************************************\n");

        printf("******************** 歡迎進入查詢系統(tǒng)  *******************\n");    

        printf("**********************************************************\n");

        printf("\n");

        printf("*********************  請輸入所需操作  *******************\n");/*選擇功能菜單*/

        printf("**********************************************************\n");

        printf("1.按學號查詢\n");

        printf("2.按姓名查詢\n");

        printf("3.按學院查詢\n"); 

        printf("4.按班級查詢\n");

        printf("0.返回主菜單\n");     

        printf("**********************************************************\n");

        printf("請輸入操作選項:");

        scanf("%d",&selet);

       getchar();

        switch(selet)

       {

           case 1:

              SearchNumber(n);

              break;

           case 2:

              SearchName(n);

              break;

           case 3:

              SearchXueyuan(n);

              break; 

           case 4:

              SearchCla(n);

              break;

           case 0:

              return;

           default:

              printf("輸入錯誤!請重新輸入!\n");

       }

    }/*結(jié)束while*/

}

 

/*按姓名查詢學生信息*******************************************************************************/

void SearchName(int n)

{

    int i,j,k;

    char xname[20],c='y';

    while(c=='y')

    {

       k=-1;

       printf("\n請輸入學生姓名:");

       gets(xname);

       for(i=0,j=1;i<n;i++)/*精確查詢*/

           if(strcmp(stu[i].name,xname)==0)

           {

               k=i;/*找到要查詢的同學姓名,并用k記下其下標*/

               printf("學生%d的信息:\n",j++);

                OutputOneStudent(k);

                printf("\n按任意鍵繼續(xù)!\n");

                getchar();

           }

       if(k==-1)/*k表示沒有精確查詢結(jié)果*/

       {

           printf("\n模糊查詢結(jié)果如下:\n");

           for(i=0,j=1;i<n;i++)

              if(strstr(stu[i].name,xname)!=NULL)/*模糊查詢*/

              {

                  k=1;

                   printf("學生%d的信息:\n",j++);

                    OutputOneStudent(k);

                    printf("\n按任意鍵繼續(xù)!\n");

                    getchar();

              }

           if(j==1)

                printf("\n抱歉!沒有該學生信息!\n");

       }

       printf("繼續(xù)查詢其他學生信息嗎?");

        printf("\n繼續(xù)修改請按y;不進行修改請按n\n");

       c=getchar();

        getchar();

    }/*結(jié)束while*/

    printf("\n按任意鍵繼續(xù)!\n");

    getchar();

}

 

/*按學號查詢學生信息*******************************************************************************/

void SearchNumber(int n)

{

    int i,j,k,x;

    char c='y';

    while(c=='y')

    {

       k=-1;

       printf("\n請輸入學生學號:");

       scanf("%d",&x);

       for(i=0,j=1;i<n;i++)

           if(stu[i].number==x)

           {

               k=i;/*找到要查詢的同學學號,并用k記下其下標*/

               printf("學生%d的信息:\n",j++);

                OutputOneStudent(k);

                printf("\n按任意鍵繼續(xù)!\n");

                getchar();

           }

       printf("繼續(xù)查詢其他學生信息嗎?");

        printf("\n繼續(xù)修改請按y;不進行修改請按n\n");

       c=getchar();

        getchar();

    }/*結(jié)束while*/

    printf("\n按任意鍵繼續(xù)!\n");

    getchar();

}

 

/*按所在學院查詢學生信息***************************************************************************/

void SearchXueyuan(int n)

{

    int i,j,k;

    char xxueyuan[20],c='y';

    while(c=='y')

    {

       k=-1;

       printf("\n請輸入學生所在學院:");

       gets(xxueyuan);

       for(i=0,j=1;i<n;i++)

           if(strcmp(stu[i].xueyuan,xxueyuan)==0)

           {

               k=i;/*找到要查詢的同學所在學院,并用k記下其下標*/

               printf("學生%d的信息:\n",j++);

                OutputOneStudent(k);

                printf("\n按任意鍵繼續(xù)!\n");

                getchar();

           }

       printf("繼續(xù)查詢其他學生信息嗎?");

        printf("\n繼續(xù)修改請按y;不進行修改請按n\n");

       c=getchar();

        getchar();

    }/*結(jié)束while*/

    printf("\n按任意鍵繼續(xù)!\n");

    getchar();

}

 

/*按所在班級查詢學生信息***************************************************************************/

void SearchCla(int n)

{         

    int i,j,k,x;

    char c='y';

    while(c=='y')

    {

       k=-1;

       printf("\n請輸入學生所在班級:");

       scanf("%d",&x);

       for(i=0,j=1;i<n;i++)

           if(stu[i].cla==x)

           {

               k=i;/*找到要查詢的同學所在班級,并用k記下其下標*/

               printf("學生%d的信息:\n",j++);

                OutputOneStudent(k);

                printf("\n按任意鍵繼續(xù)!\n");

                getchar();

           }

       printf("繼續(xù)查詢其他學生信息嗎?");

        printf("\n繼續(xù)修改請按y;不進行修改請按n\n");

       c=getchar();

        getchar();

    }/*結(jié)束while*/

    printf("\n按任意鍵繼續(xù)!\n");

    getchar();

}

 

/*學生信息統(tǒng)計操作*********************************************************************************/

void tongji()

{  

    int x;

    printf("**********************************************************\n");

    printf("******************** 歡迎進入統(tǒng)計系統(tǒng)  *****************++\n");       

    printf("**********************************************************\n");

    printf("\n");

    printf("************請輸入所需操作***********\n");/*選擇功能菜單*/

    printf("*************************************\n");

    printf("1.按總分排序操作\n");

    printf("2.按平均分統(tǒng)計人數(shù)操作\n");                         

    printf("3.按查找最高成績操作\n");

    printf("4.按統(tǒng)計部及格率操作\n");                             

    printf("0.返回主菜單\n");

    printf("**************************************\n");

    printf("請輸入操作選項:");

    scanf("%d",&x);/*用戶選擇變量*/

    while(x>0&&x<6)

    {

        switch(x)

       {

           case 1:

                 zfsc();break;/*選擇按總分排序操作*/        

             case 2:

                  avecz();break;/*選擇按平均分統(tǒng)計人數(shù)操作*/

             case 3:

                  search();break;/*選擇按查找最高成績操作*/

             case 4:

                  tongji();break;/*選擇按統(tǒng)計部及格率操作*/

             case 0:

                printf("謝謝使用!再見!\n");

               return;/*選擇退出操作*/

             default:

                printf("輸入錯誤!請重新輸入\n");/*提示錯誤信息*/

       }

    }

}

 

/*總分排序操作*************************************************************************************/

void zfsc()

{

    FILE *wj,*fp;

    int i,j;

    struct student temp;

    if((fp=fopen("student.dat","wb"))==NULL)

    {

        printf("文件打開失敗!\n");

       exit(1);

    }

    for(i=0;i<SIZE-1;i++)

        for(j=0;j<SIZE-i-1;j++)

            if(stu[i].sum<stu[j].sum)/*冒泡法排序*/

            {

                temp=stu[j];

                stu[j]=stu[i];

                stu[i]=temp;

            }

    if((wj=fopen("student1.dat","wb+"))==NULL)

    {

        printf("文件打開失敗!\n");

       exit(1);

    } 

    else

    {   

         for(i=0;i<SIZE;i++)

             fwrite(&stu[i],sizeof(struct student),1,wj);/*寫入文件*/

    }

    fclose(fp);

    fclose(wj);

}

 

/*按平均分統(tǒng)計人數(shù)操作*****************************************************************************/

void avecz()

{

    int i=0,k,m;

    printf("平均分不及格的同學有:\n");

    for(i=0;i<SIZE;i++)/*統(tǒng)計平均分不及格人數(shù)*/

    {

       k=0;

        if(stu[i].average<60)

       {  

           m=i;/*找到平均分不及格學生,并用m記下其下標*/

           OutputOneStudent(m);

           k++;/*k為平均分不及格人數(shù)*/

       }

        printf("             平均分不及格的同學信息輸出結(jié)束\n");

        printf("共%d人\n",k);

        printf("  **********************************************************");

    }

    printf("平均分60~69分的同學有:\n");

    for(i=0;i<SIZE;i++)/*統(tǒng)計平均分60~69分人數(shù)*/

    {

       k=0;

        if(stu[i].average>59&&stu[i].average<70)

       {     

           m=i;/*找到平均分69~69學生,并用m記下其下標*/

           OutputOneStudent(m);

            k++;/*k為平均分60~69分人數(shù)*/

       }

        printf("             平均分60~69分的同學信息輸出結(jié)束\n");

        printf("共%d人\n",k);

        printf("  **********************************************************");

    }

    printf("平均分70~79分的同學有:\n");

    for(i=0;i<SIZE;i++)/*統(tǒng)計平均分70~79分人數(shù)*/

    {

       k=0;

        if(stu[i].average>69&&stu[i].average<80)

       {     

           m=i;/*找到平均分70~79學生,并用m記下其下標*/

           OutputOneStudent(m);

           k++;/*k為平均分70~79分人數(shù)*/

       }

        printf("             平均分70~79分的同學信息輸出結(jié)束\n");

        printf("共%d人\n",k);

        printf("  **********************************************************");

    }

    printf("平均分80~89分的同學有:\n");

    for(i=0;i<SIZE;i++)/*統(tǒng)計平均分80~89分人數(shù)*/

    {

       k=0;

        if(stu[i].average>79&&stu[i].average<90)

       {     

           m=i;/*找到平均分80~89學生,并用m記下其下標*/

           OutputOneStudent(m);

           k++;/*k為平均分80~89分人數(shù)*/

       }

        printf("             平均分80~89分的同學信息輸出結(jié)束\n");

        printf("共%d人\n",k);

        printf("  **********************************************************");

    }

    printf("平均分90~100分的同學有:\n");

    for(i=0;i<SIZE;i++)/*統(tǒng)計平均分90~100分人數(shù)*/

    {

       k=0;

        if(stu[i].average>89&&stu[i].average<=100)

       {     

           m=i;/*找到平均分90~100學生,并用m記下其下標*/

           OutputOneStudent(m);

           k++;/*k為平均分90~100分人數(shù)*/

       }

        printf("             平均分90~100分的同學信息輸出結(jié)束\n");

        printf("共%d人\n",k);

        printf("  **********************************************************");

    }

}

 

/*查找最高成績操作****************************************************************************/

void search()

{

    int i=0,x,k=0;

    printf("********************輸入查找選項**********************\n");/*選擇功能菜單*/

    printf("          查找高數(shù)成績最高學生請按:1\n");

    printf("          查找英語成績最高學生請按:2\n");           

    printf("          查找C語言成績最高學生請按:3\n");

    scanf("%d",&x);/*用戶選擇變量*/                        

    if(x==1)

    {

        for(i=0;i<SIZE;i++)/*查找高數(shù)成績最高學生*/                   

       {   if(stu[i].score[0]>stu[k].score[0])

              i=k;

       }

       printf("高數(shù)成績最高學生信息如下:\n");

       OutputOneStudent(k);

       printf("                       輸出結(jié)束\n");

        printf("  **********************************************************");

    }

    if(x==2)

    {

        for(i=0;i<SIZE;i++)/*查找英語成績最高學生*/

       {   if(stu[i].score[1]>stu[k].score[1])

              i=k;

       }

       printf("英語成績最高學生信息如下:\n");

       OutputOneStudent(k);

       printf("                       輸出結(jié)束\n");

        printf("  **********************************************************");

    }

    if(x==3)

    {

        for(i=0;i<SIZE;i++)/*查找C語言成績最高學生*/

       {   if(stu[i].score[2]>stu[k].score[2])

              i=k;

       }

       printf("C語言成績最高學生信息如下:\n");

       OutputOneStudent(k);

       printf("                       輸出結(jié)束\n");

        printf("  **********************************************************");

    }

}

 

/*統(tǒng)計不及格率操作*****************************************************************************/

void tongji2()

{

    int x,i,k;

    printf("********************輸入統(tǒng)計選項**********************\n"); /*選擇功能菜單*/

    printf("統(tǒng)計高數(shù)成績不及格率請按:1\n");

    printf("統(tǒng)計英語成績不及格率請按:2\n");           

    printf("統(tǒng)計C語言成績不及格率請按:3\n");

    scanf("%d",&x);/*用戶選擇變量 */                        

    if(x==1)

    {

        for(i=0;i<SIZE;i++)/*統(tǒng)計高數(shù)成績不及格率*/

       {

           k=0;

           if(stu[i].score[0]<60)

                k++;/*k為高數(shù)成績不及格人數(shù)*/

        printf("共%d人高數(shù)未及格\n",k);

        printf("不及格率為%f\n",k/SIZE);

        printf("  **********************************************************");

       }

    }

    if(x==2)

    {

        for(i=0;i<SIZE;i++)/*統(tǒng)計英語成績不及格率*/

       {

           k=0;

           if(stu[i].score[1]<60)

                 k++;/*k為英語成績不及格人數(shù)*/

        printf("共%d人英語不及格\n",k);

        printf("不及格率為%f\n",k/SIZE);

        printf("  **********************************************************");

       }

    }

    if(x==3)

    {

        for(i=0;i<SIZE;i++)/*統(tǒng)計C語言成績不及格率*/

       {

           k=0;

           if(stu[i].score[2]<60)

                k++;/*k為C語言成績不及格人數(shù)*/

        printf("共%d人C語言不及格\n",k);

        printf("不及格率為%f\n",k/SIZE);

        printf("  **********************************************************");

       }

    }

}
關(guān)閉窗口

相關(guān)文章

主站蜘蛛池模板: 狠狠亚洲| 亚洲欧美视频一区 | 国产精品视频一区二区三区四区国 | 成人在线免费观看视频 | a级在线免费视频 | 国产精品一二三区在线观看 | 中文字幕乱码视频32 | 久久久久久综合 | www.日韩在线 | 天堂成人国产精品一区 | 国产精品网址 | 国产精品免费在线 | 成人网在线观看 | 亚洲一区二区在线播放 | 日日摸日日爽 | 在线一区| 亚洲狠狠丁香婷婷综合久久久 | 性色网站 | 久久丁香 | 日韩欧美亚洲 | 欧美一级片黄色 | 欧美猛交 | 国产日韩一区二区 | 亚洲精精品 | 中文字幕av亚洲精品一部二部 | 99精品久久久久久久 | 精品久久一| 精产国产伦理一二三区 | 成人免费看片 | 国产一级毛片视频 | 午夜视频一区二区三区 | 精品国产31久久久久久 | 91精品成人久久 | 成人二区三区 | 天天草天天干 | 爱草视频 | 精品免费视频一区二区 | 视频一区二区在线观看 | 国产1区 | 成人免费视频网站 | 一区二区三区视频在线 |