C语言学生成绩管理系统(综合项目)-创新互联

1. 这个代码主要实现以下功能:

为石拐等地区用户提供了全套网页设计制作服务,及石拐网站建设行业解决方案。主营业务为成都做网站、成都网站建设、石拐网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

2. 用到的主要参数有:

  1.整型变量int n;用于储存学生人数和之后的循环判断。
  2.字符串char name[][];用于储存姓名。
  3.浮点型变量float score[];用于储存成绩。
  4.长整型变量long ID[Max];用于储存学号。

3.用到的子函数有:

int  Menu(void);                       系统菜单
void Readscore;                      录入每个学生的学号、姓名和考试成绩
void Aaverage;                        计算课程的总分和平均分
void Scoreuprand;                  按成绩由高到低排出名次表
void Scoredownrand;             按成绩由低到高排出名次表
void IDrand;                             按学号由小到大排出成绩表
void Zdrand;                            按姓名的字典顺序排出成绩表
void IDFind;                             按学号查询学生排名及其考试成绩
void NameFind;                       按姓名查询学生排名及其考试成绩
void Verious;                           按成绩分为5类统计每个类别的人数以及所占百分比
void ScoreList;                        输出每个学生的学号、考试成绩
void Mingzi;                             姓名交换函数
void Xuehao;                           学号交换函数
void Fenshu;                           交换函数
void Chengjidan;                    打印成绩单

4.下面呈现的是C语言学生成绩管理系统(综合项目)的全部代码。

#include#include#include#define Max 30

int  Menu(void);                                                       //系统菜单
void Readscore(float score[],long ID[],int n,char name[][21]);         //录入每个学生的学号、姓名和考试成绩
void Aaverage(float score[],int n);                                    //计算课程的总分和平均分
void Scoreuprand(float score[],long ID[],char name[][21],int n);       //按成绩由高到低排出名次表
void Scoredownrand(float score[],long ID[],char name[][21],int n);     //按成绩由低到高排出名次表
void IDrand(float score[],long ID[],char name[][21],int n);            //按学号由小到大排出成绩表
void Zdrand(float score[],long ID[],char name[][21],int n);            //按姓名的字典顺序排出成绩表
void IDFind(float score[],long ID[],char name[][21],int n);            //按学号查询学生排名及其考试成绩
void NameFind(float score[],long ID[],char name[][21],int n);          //按姓名查询学生排名及其考试成绩
void Verious(float score[],int n);                                     //按成绩分为5类统计每个类别的人数以及所占百分比
void ScoreList(float score[],long ID[],int n);                         //输出每个学生的学号、考试成绩
void Mingzi(char name[],char m[]);                                     //姓名交换函数
void Xuehao(long *px,long *py);                                        //学号交换函数
void Fenshu(float *px,float *py);                                      //分数交换函数
void Chengjidan(float score[],long ID[],char name[][21],int n);        //打印成绩单
int  main()
{
    int x;
    int n;
    char name[Max][21];
    float score[Max];
    long ID[Max];
    printf("--------------------欢迎使用学生成绩管理系统--------------------\n");
    printf("请输入班级人数:");
    scanf("%d",&n);
    getchar();
    while(1)
    {
        x=Menu();
        switch(x)
        {
            case 1:  Readscore(score,ID,n,name);        break;
            case 2:  Aaverage(score,n);                 break;
            case 3:  Scoreuprand(score,ID,name,n);      break;
            case 4:  Scoredownrand(score,ID,name,n);    break;
            case 5:  IDrand(score,ID,name,n);           break;
            case 6:  Zdrand(score,ID,name,n);           break;
            case 7:  IDFind(score,ID,name,n);           break;
            case 8:  NameFind(score,ID,name,n);         break;
            case 9:  Verious(score,n);                  break;
            case 10: Chengjidan(score,ID,name,n);       break;
            case 0:  return 0;                          break;
            default:printf("输入错误!");
        }
    }
}



//函数功能:显示菜单并选择子程序
//入口参数:无
//返回值:x
int Menu(void)     //---------菜单函数
{

    int x;system("cls");
    printf("--------------欢迎使用学生成绩管理系统--------------\n");
    printf("-----------------------菜单栏-----------------------\n");
    printf("1.成绩录入\n");
    printf("2.总分和平均分计算\n");
    printf("3.成绩降序排列\n");
    printf("4.成绩升序排列\n");
    printf("5.学号升序排列\n");
    printf("6.姓名在字典中顺序排序\n");
    printf("7.按学号查询成绩\n");
    printf("8.按姓名查询成绩\n");
    printf("9.成绩分析\n");
    printf("10.成绩单输出\n");
    printf("0.退出\n");
    printf("请输入你的选择:");
    scanf("%d",&x);
    return x;
}



//函数功能:录入每个学生的学号和考试成绩
//入口参数:score,ID,n,name
//返回值:无
void Readscore(float score[],long ID[],int n,char name[][21])     //---------录入函数
{
    system("cls");
    printf("--------------------成绩录入--------------------\n");
    int i;
    printf("输入学号、姓名和成绩:\n");
    for (i=0;iscore[j])
                {
                    Fenshu(&score[i],&score[j]);
                    Mingzi(name[i],name[j]);
                    Xuehao(&ID[i],&ID[j]);
                }
            }
        }
    Chengjidan(score,ID,name,n);
    system("pause");
}



//函数功能:按成绩由低到高排出名次表
//入口参数:score,ID,n,name
//返回值:无
void Scoredownrand(float score[],long ID[],char name[][21],int n)     //---------成绩降序排名函数
{
    system("cls");
    printf("--------------------成绩降序名次表--------------------\n");
    int i,j;
    for(i=0;i0)
            {
                Mingzi(name[i],name[j]);
                Xuehao(&ID[i],&ID[j]);
                Fenshu(&score[i],&score[j]);
            }
        }
    }
    printf("--------------------名字按照字典的顺序排序--------------------\n\n");
    Chengjidan(score,ID,name,n);
    system("pause");
}



//函数功能:按学号查询学生排名及其考试成绩
//入口参数:score,ID,n,name
//返回值:无
void IDFind(float score[],long ID[],char name[][21],int n)     //---------学号查找函数
{
    system("cls");
    printf("--------------------学号查询系统--------------------\n");long i=0;
    int low=0,high=n-1,mid,ret,j,k;
    printf("请输入学号:\n");
    ret=scanf("%ld",&k);
    while(ret!=1)
    {
        while(getchar()!='\n');
        printf("请重新输入正确的学号:\n");
        scanf("%ld",&k);
    }
    for(i=0;i=90&&score[i]<=100)
        {
            x1++;
        }
        else if(score[i]>=80&&score[i]<90)
        {
            x2++;
        }
        else if(score[i]>=70&&score[i]<80)
        {
            x3++;
        }
        else if(score[i]>=60&&score[i]<70)
        {
            x4++;
        }
        else
        {
            x5++;
        }
    }
    printf("优秀人数为:  %.f   占总人数的:%.2f%%\n",x1,(x1/n)*100);
    printf("良好人数为:  %.f   占总人数的:%.2f%%\n",x2,(x2/n)*100);
    printf("中等人数为:  %.f   占总人数的:%.2f%%\n",x3,(x3/n)*100);
    printf("及格人数为:  %.f   占总人数的:%.2f%%\n",x4,(x4/n)*100);
    printf("不及格人数为:%.f   占总人数的:%.2f%%\n",x5,(x5/n)*100);
    system("pause");
}



//函数功能:交换姓名
//入口参数:n,name
//返回值:无
void Mingzi(char name[],char m[])    //---------姓名交换函数
{
    char s[21];                    //---------中间储存字符串
    strcpy(s,name);
    strcpy(name,m);
    strcpy(m,s);
}



//函数功能:交换学号
//入口参数:n,ID
//返回值:无
void Xuehao(long *px,long *py)       //---------学号交换函数
{
    int x;
    x=*px;
    *px=*py;
    *py=x;
}



//函数功能:交换分数
//入口参数:score,n
//返回值:无
void Fenshu(float *px,float *py)     //---------分数交换函数
{
    int x;
    x=*px;
    *px=*py;
    *py=x;
}



//函数功能:打印成绩单
//入口参数:score,n,ID,name
//返回值:无
void Chengjidan(float score[],long ID[],char name[][21],int n)      //------------------------------成绩单函数
{
    int i;
    if(n==0)
    {
        printf("还没有录入成绩!");
    }
    printf("      姓名       学号        分数\n");
    for(i=0;i

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


分享名称:C语言学生成绩管理系统(综合项目)-创新互联
浏览路径:http://hbruida.cn/article/pjpoe.html