绿色、免费、安全的软件下载站_优先下载站
所在位置:首页 > 软件下载 > 教育软件 > 考试系统 > 正文

c语言学生成绩管理系统附源代码c语言学生成绩管理系统附源代码官方下载

分享到:
本地多线下载
共有次下载

c语言学生成绩管理系统附源代码软件介绍 下载地址

  • C语言学生成绩管理系统是用C语言设计制作的成绩管理系统。是朋友在我的爱情论坛分享提供的。旨在帮助学C语言的朋友学习实际应用。感兴趣的朋友不要错过。欢迎下载使用。

    c语言学生成绩管理系统附源代码

    系统显示,很多朋友都要求一个很难的程序。今天,我将与大家分享一个在C语言环境下开发的学生成绩管理系统

    这个系统的原理很简单:输入、输出、修改、排序、删除等等。

    主要目的是帮助大家复习C语言的使用。

    系统功能1。实现所有学生成绩的录入(使用结构数组),当输入字符为end时结束成绩的录入;

    2.实现所有学生信息的输出

    3.输入指定学生的姓名,并输出学生的信息

    4.根据学生的语文和数学成绩对他们的成绩进行排名

    系统源代码# includesdio.h

    # includestdlib.h

    # includeconio.h

    #includedos.h

    #includestring.h

    #定义LEN大小(学生结构)

    #定义FORMAT“%-8d %-15s %-12.1 lf %-12.1 lf %-12.1 lf %-12.1 lf \ n”

    #定义DATA stu.num,stu.name,stu.elec,stu.expe,stu.requ,stu.sum

    //仅供学习,不得用于商业用途!

    float Felec、Fexpe、Frequ

    结构学生/*定义学生成绩结构*/

    {

    int num/*学生证*/

    字符名称[15];/*姓名*/

    双电子的;/*选修课*/

    双倍支出;/*实验班*/

    双热区;/*必修课*/

    双倍和;/*总分*/

    };

    指导学生学习[50];/*定义结构数组*/

    在()中无效;/*输入学生成绩信息*/

    void show();/*显示学生信息*/

    作废订单();/*按总分排序*/

    void del();/*删除学生成绩信息*/

    void modify();/*修改学生成绩信息*/

    void menu();/*主菜单*/

    void insert();/*插入学生信息*/

    void total();/*计算总人数*/

    无效搜索();/*查找学生信息*/

    Int main()/* main函数*/

    {

    int n;

    menu();

    scanf('%d ',n);/*输入所选功能的号码*/

    while(n)

    {

    开关(n)

    {

    案例1:

    in();

    打破;

    案例2:

    search();

    打破;

    案例3:

    del();

    打破;

    案例4:

    modify();

    打破;

    案例5:

    insert();

    打破;

    案例6:

    order();

    打破;

    案例7:

    total();

    打破;

    default:break

    }

    getch();

    menu();/*执行该功能后,菜单界面将再次显示*/

    scanf('%d ',n);

    }

    }

    作废于()/*输入学生信息*/

    {

    int i,m=0;/*m是记录数*/

    char ch[2];

    FILE * fp/*定义文件指针*/

    If ((FP=fopen ('data ',' ab ')==null)/*打开指定的文件*/

    {

    printf('无法打开\ n ');

    返回;

    }

    while(!feof(fp))

    {

    if(fread(stu[m],LEN,1,FP)=1)

    m;/*计算当前记录的数量*/

    }

    fc lose(FP);

    if(m==0)

    printf('无记录!\ n ');

    其他

    {

    系统(' cls ');

    show();/*调用show函数显示原始信息*/

    }

    if((fp=fopen('data ',' WB ')==NULL)

    {

    printf('无法打开\ n ');

    返回;

    }

    for(I=0;im;(一)

    fwrite(stu,LEN,1,FP);/*将信息写入指定的磁盘文件*/

    printf('请输入(y/n): ');

    scanf(“% s”,ch);

    if(strcmp(ch,' Y')==0||strcmp(ch,' Y')==0)

    {

    printf('请输入百分号m : ');

    printf(' \ ne lective : ');

    scanf('%f ',Felec);

    printf(' \ nexperiment: ');

    scanf('%f ',Fexpe);

    printf(' \ n必需课程: ');

    scanf('%f ',Frequ);

    }

    While (strcmp (ch,y')==0 | | strcmp (ch,y')==0)/*判断是否输入新信息*/

    {

    printf(' number : ');

    scanf('%d ',stu[m]。num);/*输入学生证*/

    for(I=0;im;(一)

    if(stu.num==stu[m])。数量)

    {

    printf('号码已存在,请按任意键继续!');

    getch();

    fc lose(FP);

    返回;

    }

    printf(' name : ');

    scanf(“% s”,stu[m]).姓名);/*输入学生姓名*/

    printf(' electro ve : ');

    scanf(“% lf”,stu[m]).elec);/*输入选修课成绩*/

    printf('实验: ');

    scanf(“% lf”,stu[m]).expe);/*输入实验课成绩*/

    printf('必选课程: ');

    scanf(“% lf”,stu[m]).热区);/*输入必修课成绩*/

    斯图[m].总和=学生.电子*Felec stu[m].expe*Fexpe stu[m].requ * Frequ/*计算出总成绩*/

    if(fwrite(stu[m],LEN,1,fp)!=1)/*将新录入的信息写入指定的磁盘文件*/

    {

    printf('无法保存!');

    getch();

    }

    其他

    {

    printf("% s "已保存!\ n ,[ m]学生.姓名);

    m;

    }

    printf('是否继续?(y/n): ';/*询问是否继续*/

    scanf("% s ",ch);

    }

    fc输(FP);

    printf('OK!\ n ');

    }

    无效显示()

    {

    文件* fp

    int i,m=0;

    fp=fopen('data ',' ab ');

    while(!feof(fp))

    {

    if(fread(stu[m],LEN,1,FP)=1)

    m;

    }

    fc输(FP);

    printf('数字名称选修实验所需的总和\ t \ n ');

    for(I=0;im;(一)

    {

    格式,数据;/*将信息按指定格式打印*/

    }

    }

    空的菜单()/*自定义函数实现菜单功能*/

    {

    系统(“cls”);

    printf(' \ n \ n \ n \ n \ n ');

    printf(' \ t \ t |-STUDENT-| \ n ');

    printf('\t\t|\t 0 .退出| \ n ');

    printf('\t\t|\t 1 .输入记录| \ n ');

    printf('\t\t|\t 2 .搜索记录| \ n ');

    printf('\t\t|\t 3 .删除记录| \ n ');

    printf('\t\t|\t 4 .修改记录| \ n ');

    printf('\t\t|\t 5 .插入记录| \ n ');

    printf('\t\t|\t 6 .order | \ n ');

    printf('\t\t|\t 7 .数字| \ n ');

    printf('\t\t| -该程序由吾爱破解bfgjjt提供-| \ n \ n ');

    printf(' \ t \ t \ t选择(0-7): ');

    }

    无效订单()/*自定义排序函数*/

    {

    文件* fp

    结构学生t;

    int i=0,j=0,m=0;

    if((fp=fopen('data ',' ab '==NULL)

    {

    printf('无法打开!\ n ');

    返回;

    }

    while(!feof(fp))

    if(fread(stu[m],LEN,1,FP)=1)

    m;

    fc输(FP);

    if(m==0)

    {

    printf('没有记录!\ n ');

    返回;

    }

    for(I=0;im-1;(一)

    对于(j=1 ^ 1;JM;j )/*双重循环实现成绩比较并交换*/

    if(stu.sumstu[j]).总和)

    {

    t=stu

    斯图=斯图[j];

    stu[j]=t;

    }

    if((fp=fopen('data ',' WB ')==NULL)

    {

    printf('无法打开\ n ');

    返回;

    }

    for(I=0;im;i )/*将重新排好序的内容重新写入指定的磁盘文件中*/

    if(fwrite(stu,LEN,1,fp)!=1)

    {

    printf("% s "无法保存!\ n ');

    getch();

    }

    fc输(FP);

    printf('保存成功\ n ');

    }

    void del()/*自定义删除函数*/

    {

    文件* fp

    int snum,I,j,m=0;

    char ch[2];

    if((fp=fopen('data ',' ab '==NULL)

    {

    printf('无法打开\ n ');

    返回;

    }

    while(!feof(fp))

    if(fread(stu[m],LEN,1,FP)=1)

    m;

    fc输(FP);

    if(m==0)

    {

    printf('没有记录!\ n ');

    返回;

    }

    printf('请输入数字: ');

    scanf("% d ",snum);

    for(I=0;im;(一)

    if(snum==stu.num)

    打破;

    if(i==m)

    {

    printf('找不到');

    getchar();

    返回;

    }

    printf('找到学生,删除?(y/n)');

    scanf("% s ",ch);

    if(strcmp(ch,Y')==0||strcmp(ch,Y '==0)/*判断是否要进行删除*/

    {

    for(j=I;JM;j)

    斯图[j]=斯图[j 1];/*将后一个记录移到前一个记录的位置*/

    m-;/*记录的总个数减1*/

    printf('删除成功!\ n ');

    }

    if((fp=fopen('data ',' WB ')==NULL)

    {

    printf('无法打开\ n ');

    返回;

    }

    for(j=0;JM;j )/*将更改后的记录重新写入指定的磁盘文件中*/

    if(fwrite(stu[j],LEN,1,fp)!=1)

    {

    printf('无法保存!\ n ');

    getch();

    }

    fc输(FP);

    }

    无效搜索()/*自定义查找函数*/

    {

    文件* fp

    int snum,I,m=0;

    char ch[2];

    if((fp=fopen('data ',' ab '==NULL)

    {

    printf('无法打开\ n ');

    返回;

    }

    while(!feof(fp))

    if(fread(stu[m],LEN,1,FP)=1)

    m;

    fc输(FP);

    if(m==0)

    {

    printf('没有记录!\ n ');

    返回;

    }

    printf('请输入数字: ');

    scanf("% d ",snum);

    for(I=0;im;(一)

    if(snum==stu.num)/*查找输入的学号是否在记录中*/

    {

    找到学生,展示?(y/n)');

    scanf("% s ",ch);

    if(strcmp(ch,' Y')==0||strcmp(ch,' Y')==0)

    {

    printf('数字名称选修实验所需的总和\ t \ n ');

    格式,数据;/*将查找出的结果按指定格式输出*/

    打破;

    }

    其他

    返回;

    }

    if(i==m)

    printf('找不到学生!\ n ');/*未找到要查找的信息*/

    }

    作废修改()/*自定义修改函数*/

    {

    文件* fp

    int i,j,m=0,snum

    if((fp=fopen('data ',' ab '==NULL)

    {

    printf('无法打开\ n ');

    返回;

    }

    while(!feof(fp))

    if(fread(stu[m],LEN,1,FP)=1)

    m;

    if(m==0)

    {

    printf('没有记录!\ n ');

    fc输(FP);

    返回;

    }

    printf('请输入要修改的学生编号!\ n ');

    scanf("% d ",snum);

    for(I=0;im;(一)

    if(snum==stu.num)/*检索记录中是否有要修改的信息*/

    打破;

    if(im)

    {

    printf('找到学生!可以修改!\ n ');

    printf('请输入百分号m :’);

    printf(' \ n选择: ');

    scanf('%f ',Felec);

    printf(' \ nexperiment: ');

    scanf('%f ',Fexpe);

    printf(' \ n必需课程: ');

    scanf('%f ',Frequ);

    printf(' name : \ n ');

    scanf("% s ",stu。姓名);/*输入名字*/

    printf(' \ n选择: ');

    scanf(“% lf”,stu。elec);/*输入选修课成绩*/

    printf(' \ nexperiment: ');

    scanf(“% lf”,stu。exp);/*输入实验课成绩*/

    printf(' \ n必需课程: ');

    scanf(“% lf”,stu。热区);/*输入必修课成绩*/

    斯图。sum=斯图。电子* Felec stu。expe * Fexpe stu。requ * Frequ

    }

    其他

    {

    printf('找不到!');

    getchar();

    返回;

    }

    if((fp=fopen('data ',' WB ')==NULL)

    {

    printf('无法打开\ n ');

    返回;

    }

    for(j=0;JM;j )/*将新修改的信息写入指定的磁盘文件中*/

    if(fwrite(stu[j],LEN,1,fp)!=1)

    {

    printf('无法保存!');

    getch();

    }

    fc输(FP);

    }

    void insert()/*自定义插入函数*/

    {

    文件* fp

    int i,j,k,m=0,snum

    if((fp=fopen('data ',' ab '==NULL)

    {

    printf('无法打开\ n ');

    返回;

    }

    while(!feof(fp))

    if(fread(stu[m],LEN,1,FP)=1)

    m;

    if(m==0)

    {

    printf('没有记录!\ n ');

    fc输(FP);

    返回;

    }

    printf('请输入要插入的位置!(输入数字)\ n ';

    scanf("% d ",snum);/*输入要插入的位置*/

    for(I=0;im;(一)

    if(snum==stu.num)

    打破;

    for(j=m-1;冀;j -)

    斯图[j 1]=斯图[j];/*从最后一条记录开始均向后移一位*/

    printf('现在请输入新信息\\ n ');

    printf('编号: ');

    scanf('%d ',斯图[I ^ 1].num);

    for(k=0;公里;k)

    if(stu[k]).num==stu[i 1].努克1)

    {

    printf('号码已存在,请按任意键继续!');

    getch();

    fc输(FP);

    返回;

    }

    printf('请输入百分号m :’);

    printf(' \ n选择: ');

    scanf('%f ',Felec);

    printf(' \ nexperiment: ');

    scanf('%f ',Fexpe);

    printf(' \ n必需课程: ');

    scanf('%f ',Frequ);

    printf(' name : \ n ');

    scanf(“% s”,斯图[I ^ 1].姓名);

    printf(' \ n选择: ');

    scanf(“% lf”,斯图[I ^ 1].elec);

    printf(' \ nexperiment: ');

    scanf(“% lf”,斯图[I ^ 1].expe);

    printf(' \ n必需课程: ');

    scanf(“% lf”,斯图[I ^ 1].热区);

    斯图1 .sum=stu[I ^ 1].elec*Felec stu[i 1].expe*Fexpe stu[i 1].requ * Frequ

    if((fp=fopen('data ',' WB ')==NULL)

    {

    printf('无法打开\ n ');

    返回;

    }

    for(k=0;k=m;k)

    if(fwrite(stu[k],LEN,1,fp)!=1)/*将修改后的记录写入磁盘文件中*/

    {

    printf('无法保存!');

    getch();

    }

    fc输(FP);

    }

    无效总数()

    {

    文件* fp

    int m=0;

    if((fp=fopen('data ',' ab '==NULL)

    {

    printf('无法打开\ n ');

    返回;

    }

    while(!feof(fp))

    if(fread(stu[m],LEN,1,FP)=1)

    m;/*统计记录个数即学生个数*/

    if(m==0)

    {

    printf('没有记录!\ n ');

    fc输(FP);

    返回;

    }

    printf('该班有%d名学生!\n ',m);/*将统计的个数输出*/

    fc输(FP);

    }

    下载地址c语言学生成绩管理系统附源代码官方下载64位下载地址

    暂无下载