中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C語言實現學生成績管理系統的代碼如何寫

發布時間:2022-07-22 14:02:40 來源:億速云 閱讀:118 作者:iii 欄目:開發技術

這篇文章主要介紹“C語言實現學生成績管理系統的代碼如何寫”,在日常操作中,相信很多人在C語言實現學生成績管理系統的代碼如何寫問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”C語言實現學生成績管理系統的代碼如何寫”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

設計要求

設計學生成績管理系統

要求如下:

1.輸入學生信息
2.統計學生成績
3.查找并顯示學生成績
4.按姓名查找,修改學生資料
5.顯示所有學生名單
6.查找并刪除學生信息
7.輸出個科目成績最高的學生

完整代碼

#include<stdio.h>
#include<ctype.h>
#include<stdlib.h>
#include<string.h>
struct Student
{
    int cls;
    char namee[10];
    char number[10];
    int chinese;
    int english;
    int computer;
    int math;
}stud1[100];
int menu()
{
    char a;
    while(a>'8'||a<'0')
    {
        system("cls");
        printf("*****    學生成績管理系統    *******\n");
        printf("              1.輸入學生信息\n");
        printf("              2.統計學生成績\n");
        printf("              3.查找并顯示學生成績\n");
        printf("              4.按姓名查找,修改學生資料\n");
        printf("              5.顯示所有學生名單\n");
        printf("              6.查找并刪除學生信息\n");
        printf("              7.輸出個科目成績最高的學生\n");
        printf("               0.退出系統\n");
        printf("************************************\n");
        printf("請選擇(0-8)\n");
        a=getchar();//鍵盤敲的字符賦給a 
    }
    return(a-'0');
}
/******************************************/
int Input(Student stud[],int n)      //輸入數據   定義輸入數據函數
{
    int i=0;
    char sign,x[10];
    for(;sign !='n'&&sign !='N';)
    {
        printf("               姓名:");
        scanf("%s",stud[n+i].namee);
        printf("               班級:");
        scanf("%d",&stud[n+i].cls);
        printf("               學號:");
        scanf("%s",stud[n+i].number);
        printf("               語文:");
        scanf("%d",&stud[n+i].chinese);

        printf("               數學:");
        scanf("%d",&stud[n+i].math);
        printf("               英語:");
        scanf("%d",&stud[n+i].english);
        printf("               計算機:");
        scanf("%d",&stud[n+i].computer);
        gets(x);
        printf("還有要輸入的信息嗎?(y/n)");
        scanf("%c",&sign);
        i++;
    }
    return(n+i);
}
void Sort(Student stud[], int n)//根據平均分排序(冒泡法)
{
     int i,j;
     struct Student tmp;
     for (i=0;i<n;i++)
     {
         for (j=1;j<n-i;j++)
         {
              if ((stud[j-1].chinese+stud[j-1].english+stud[j-1].computer+stud[j-1].math)<(stud[j].chinese+stud[j].english+stud[j].computer+stud[j].math))
              {
                   tmp=stud[j-1];
                   stud[j-1]=stud[j];
                   stud[j]=tmp;
            }
         }
     }
} 
/***************統計數據*******/
void Display(Student stud[], int n)
{
    Sort(stud,n);
    int i;
    printf("     班級    學號    姓名   語文     數學    英語   計算機   總分   平均分\n");
    for(i=1;i<n+1;i++)
    {   
        int s=stud[i-1].chinese+stud[i-1].math+stud[i-1].english+stud[i-1].computer;
        printf("%7d,%7s,%7s,%7d,%7d,%7d,%7d,%7d,%7d\n",stud[i-1].cls,stud[i-1].number,stud[i-1].namee,stud[i-1].chinese,stud[i-1].math,stud[i-1].english,stud[i-1].computer,s,s/4);
        if(i>1 && i%10==0)
        {
            system("pause");
        }
    }
    system("pause");
        int a;
    printf("語文不及格的有:班級    姓名   學號    成績\n"); 
    for(a=0;a<n;a++)
    { 
        if(stud[a].chinese<60)
        printf("           %7d %7s %7s% 7d\n",stud[a].cls,stud[a].namee,stud[a].number,stud[a].chinese);
     } 
    printf("數學不及格的有:班級    姓名   學號    成績\n"); 
    for(a=0;a<n;a++)
    { 
        if(stud[a].math<60)
    printf("   %7d %7s %7s %7d\n",stud[a].cls,stud[a].namee,stud[a].number,stud[a].math);
     } 
    printf("英語不及格的有:班級    姓名   學號    成績\n");
    for(a=0;a<n;a++)
    { 
        if(stud[a].english<60)
    printf("           %7d %7s %7s %7d\n",stud[a].cls,stud[a].namee,stud[a].number,stud[a].english);
     } 
    printf("計算機不及格的有:班級    姓名   學號    成績\n"); 
    for(a=0;a<n;a++)
    { 
        if(stud[a].computer<60)
    printf("            %7d %7s %7s %7d\n",stud[a].cls,stud[a].namee,stud[a].number,stud[a].computer);
     } 
     system("pause");
}
/************查找學生顯示其信息*******************/
void Query(Student stud[],int n)
{
    char namee[20];
    printf("          輸入其姓名:\n");
    scanf("%s",namee);
    int i=0;
    while(strcmp(stud[i].namee,namee)!=0&&i<n)
        i++;
    if(i==n)
    {
        printf("\t\t\t沒有發現該學生的資料!\n");
        return;
    }
    printf("          學號:%s\n",stud[i].number);
    printf("          班級:%d\n",stud[i].cls);
    printf("          語文:%d\n",stud[i].chinese);
    printf("          英語:%d\n",stud[i].english);
    printf("          數學:%d\n",stud[i].math);
    printf("          計算機:%d\n",stud[i].computer);
}
/************刪除學生信息*********/
int Delete(Student stud[],int n)
{
    char s[20];
    int i=0,j;
    printf("       請輸入要刪除的學生的姓名:\n");
    scanf("%s",s);
    while(strcmp(stud[i].namee,s)!=0&&i<n) i++; 
    if(i==n) 
    {
        printf("\t\t\t沒有發現該學生資料!\n");
        return(n); 
    } 
    for(j=i;j<n-1;j++) 
    { 
        strcpy(stud[j].number,stud[j+1].number);
        strcpy(stud[j].namee,stud[j+1].namee); 
        stud[j].cls=stud[j+1].cls;
        stud[j].chinese=stud[j+1].chinese;
        stud[j].math=stud[j+1].math;
        stud[j].english=stud[j+1].english; 
        stud[j].computer=stud[j+1].computer;
    } 
    printf("          當前信息已刪除成功!"); 
    return(n-1); 
}
/****************修改信息**********************/
int Revise(Student stud[],int n)
{
    int i=0;
    char na[10];
    scanf("%s",na);
    while(strcmp(stud[i].namee,na)!=0&&i<n)
        i++;
    if(i==n)
    {
        printf("\t\t\t沒有發現該學生的資料!\n");
    }
    printf("修改班級:\n");
    scanf("%d",&stud[i].cls);
    printf("修改學號:\n");
    scanf("%s",stud[i].number);
    printf("修改語文成績:\n");
    scanf("%d",&stud[i].chinese);
    printf("修改英語成績:\n");
    scanf("%d",&stud[i].english);
    printf("修改數學成績:\n");
    scanf("%d",&stud[i].math);
    printf("修改計算機成績:\n");
    scanf("%d",&stud[i].computer);
    printf("修改成功\n");
    return(n);
}

/***************************************顯示學生名單**************************************/
void show(Student stud[],int n)
{
    for(int i=0;i<n;i++)
    {
        printf("    %s\n",stud[i].namee);
    }
    system("pause");
}
//
void SercherH(Student stud[],int n)//搜索成績最高者輸出 
{
    int a;
    int max ;
    printf("語文成績最高為:班級    姓名   學號    成績\n"); 
    max=stud[0].chinese;
    for(a=1;a<n;a++)
    { 
        if(stud[a].chinese>max)
        max=stud[a].chinese;
    }
    for(a=0;a<n;a++)
    { 
        if(max==stud[a].chinese)
        printf("           %7d %7s %7s% 7d\n",stud[a].cls,stud[a].namee,stud[a].number,stud[a].chinese);
    }
    printf("數學成績最高為:班級    姓名   學號    成績\n"); 
    max=stud[0].math;
    for(a=1;a<n;a++)
    { 
        if(stud[a].math>max)
        max=stud[a].math;
    }
    for(a=0;a<n;a++)
    { 
        if(max==stud[a].math)
        printf("           %7d %7s %7s% 7d\n",stud[a].cls,stud[a].namee,stud[a].number,stud[a].math);
    }
    printf("英語成績最高為:班級    姓名   學號    成績\n"); 
    max=stud[0].english; 
    for(a=1;a<n;a++)
    { 
        if(stud[a].english>max)
        max=stud[a].english;
    }
    for(a=0;a<n;a++)
    { 
        if(max==stud[a].english)
        printf("           %7d %7s %7s% 7d\n",stud[a].cls,stud[a].namee,stud[a].number,stud[a].english);
    }
    printf("計算機成績最高為:班級    姓名   學號    成績\n"); 
    max=stud[0].computer;
    for(a=1;a<n;a++){ 
        if(stud[a].computer>max)
        max=stud[a].computer;}
    for(a=0;a<n;a++)    { 
        if(max==stud[a].computer)
        printf("           %7d %7s %7s% 7d\n",stud[a].cls,stud[a].namee,stud[a].number,stud[a].computer);}
     system("pause");}
/*****************主函數調用*****************/
int main()
{
    int n1=0;
    for(;;)
    {
        switch(menu()){
        case 1:
            printf("               輸入學生資料\n");
            n1=Input(stud1,n1);break;
        case 2:
            printf("                  輸出所有學生資料\n");
                Display(stud1,n1);break;
        case 3:
            int r;printf("               查找學生\n");
            Query(stud1,n1);
system("pause");break;
        case 4:
            int p;printf("               修改學生資料\n");
printf("               輸入你要修改的學生的姓名:");
                n1=Revise(stud1,n1);
            system("pause");break;
        case 5:
            printf("               顯示所有學生名單:\n");
                show(stud1,n1);
            system("pause");break;
        case 6:
            printf("               查找并刪除學生信息\n");
            int o;
n1=Delete(stud1,n1);
system("pause");break;
        case 7:
            int l;SercherH(stud1,n1);break;    
        case 0:                
            system("pause");break;
        }
    }
}

運行結果

C語言實現學生成績管理系統的代碼如何寫

到此,關于“C語言實現學生成績管理系統的代碼如何寫”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

闵行区| 江都市| 凤凰县| 类乌齐县| 阜新市| 宾阳县| 南江县| 绵竹市| 察雅县| 略阳县| 禄丰县| 台北县| 陕西省| 芦溪县| 龙海市| 大洼县| 会泽县| 长乐市| 广宗县| 平昌县| 淅川县| 丰原市| 万宁市| 都安| 嘉禾县| 三江| 明溪县| 桐柏县| 庆城县| 大名县| 讷河市| 马鞍山市| 鹤壁市| 株洲县| 甘洛县| 凤凰县| 饶平县| 中山市| 依兰县| 晋城| 五指山市|