欢迎来到【linux open源码】【易语言神灵源码】【能源码头游戏】c 考试系统源码_驾考系统源码-皮皮网网站!!!

皮皮网

【linux open源码】【易语言神灵源码】【能源码头游戏】c 考试系统源码_驾考系统源码-皮皮网 扫描左侧二维码访问本站手机端

【linux open源码】【易语言神灵源码】【能源码头游戏】c 考试系统源码_驾考系统源码

2024-11-20 20:31:41 来源:{typename type="name"/} 分类:{typename type="name"/}

1.c语言学生成绩管理系统
2.关于计算机二级C语言考试系统的考考系问题

c 考试系统源码_驾考系统源码

c语言学生成绩管理系统

       #include <malloc.h>

       #include <stdio.h>

       #include <stdlib.h>

       #define LEN sizeof(struct scorenode)

       #define DEBUG

       #include <string.h>

       struct scorenode

       { int number;/*学号*/

       char name[];/*姓名*/

       float yuwen;/*语文成绩*/

       float yingyu;/*英语成绩*/

       float shuxue;/*数学成绩 */

       struct scorenode *next;

       };

       typedef struct scorenode score;

       int n,k;/*n,k为全局变量,本程序中的试系函数均可以使用它*/

       /*==============================================================================================*/

       score *creat(void)

       /*函数creat,功能:创建链表,此函数带回一个指向链表头的统源统源指针*/

       {

        score*head;

        score *p1,*p2,*p3,*max;

        int i,j;

        float fen;

        char t[];

        n=0;

        p1=p2=p3=(score *)malloc(LEN);head=p3; /*开辟一个新单元*/

        printf("请输入学生资料,输0退出!\n");

       repeat1: printf("请输入学生学号(学号应大于0):");/*输入学号,码驾码linux open源码学号应大于0*/

        scanf("%d",考考系&p1->number);

        while(p1->number<0)

        { getchar();

        printf("输入错误,请重新输入学生学号:");

        scanf("%d",试系&p1->number);}

        /*输入学号为字符或小于0时,程序报错,统源统源提示重新输入学号*/

        if(p1->number==0)

        goto end;/*当输入的码驾码学号为0时,转到末尾,考考系结束创建链表*/

        else

        {

        p3=head;

        if(n>0)

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

        { if(p1->number!=p3->number)

        p3=p3->next;

        else

        { printf("学号重复,试系请重输!\n");

        goto repeat1;

        /*当输入的学号已经存在,程序报错,统源统源易语言神灵源码返回前面重新输入*/

        }

        }

        }

        }

        printf("请输入学生姓名:");

        scanf("%s",码驾码&p1->name);/*输入学生姓名*/

        printf("请输入语文成绩(0~):");/*输入语文成绩,成绩应在0-*/

        scanf("%f",考考系&p1->yuwen);

        while(p1->yuwen<0||p1->yuwen>)

        { getchar();

        printf("输入错误,请重新输入语文成绩");/*输入错误,试系重新输入语文成绩直到正确为止*/

        scanf("%f",统源统源&p1->yuwen);}

        printf("请输入英语成绩(0~):");/*输入英语成绩,成绩应在0-*/

        scanf("%f",能源码头游戏&p1->yingyu);

        while(p1->yingyu<0||p1->yingyu>)

        { getchar();

        printf("输入错误,请重新输入英语成绩");/*输入错误,重新输入英语成绩直到正确为止*/

        scanf("%f",&p1->yingyu);}

        printf("请输入数学成绩(0~):");/*输入数学成绩,成绩应在0-*/

        scanf("%f",&p1->shuxue);

        while(p1->shuxue<0||p1->shuxue>)

        { getchar();

        printf("输入错误,请重新输入数学成绩");

        scanf("%f",&p1->shuxue);}/*输入错误,重新输入数学成绩直到正确为止*/

        head=NULL;

        while(p1->number!=0)

        {

        n=n+1;

        if(n==1)

        head=p1;

        else

        p2->next=p1;

        p2=p1;

        p1=(score *)malloc(LEN);

        printf("请输入学生资料,蓝天发卡网源码输0退出!\n");

       repeat2:printf("请输入学生学号(学号应大于0):");

        scanf("%d",&p1->number);/*输入学号,学号应大于0*/

        while(p1->number<0)

        { getchar();

        printf("输入错误,请重新输入学生学号:");

        scanf("%d",&p1->number);}

        /*输入学号为字符或小于0时,程序报错,提示重新输入学号*/

        if(p1->number==0)

        goto end;/*当输入的学号为0时,转到末尾,封神ol的源码结束创建链表*/

        else

        {

        p3=head;

        if(n>0)

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

        { if(p1->number!=p3->number)

        p3=p3->next;

        else

        { printf("学号重复,请重输!\n");

        goto repeat2;

        /*当输入的学号已经存在,程序报错,返回前面重新输入*/

        }

        }

        }

        }

        printf("请输入学生姓名:");

        scanf("%s",&p1->name);/*输入学生姓名*/

        printf("请输入语文成绩(0~):");

        scanf("%f",&p1->yuwen);/*输入语文成绩,成绩应在0-*/

        while(p1->yuwen<0||p1->yuwen>)

        { getchar();

        printf("输入错误,请重新输入语文成绩");

        scanf("%f",&p1->yuwen);}/*输入错误,重新输入语文成绩直到正确为止*/

        printf("请输入英语成绩(0~):");

        scanf("%f",&p1->yingyu);/*输入英语成绩,成绩应在0-*/

        while(p1->yingyu<0||p1->yingyu>)

        { getchar();

        printf("输入错误,请重新输入英语成绩");

        scanf("%f",&p1->yingyu);}/*输入错误,重新输入英语成绩直到正确为止*/

        printf("请输入数学成绩(0~):");

        scanf("%f",&p1->shuxue);/*输入数学成绩,成绩应在0-*/

        while(p1->shuxue<0||p1->shuxue>)

        { getchar();

        printf("输入错误,请重新输入数学成绩");

        scanf("%f",&p1->shuxue);}/*输入错误,重新输入数学成绩直到正确为止*/

        }

       end: p1=head;

        p3=p1;

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

        {

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

        {

        max=p1;

        p1=p1->next;

        if(max->number>p1->number)

        {

        k=max->number;

        max->number=p1->number;

        p1->number=k;

        /*交换前后结点中的学号值,使得学号大者移到后面的结点中*/

        strcpy(t,max->name);

        strcpy(max->name,p1->name);

        strcpy(p1->name,t);

        /*交换前后结点中的姓名,使之与学号相匹配*/

        fen=max->yuwen;

        max->yuwen=p1->yuwen;

        p1->yuwen=fen;

        /*交换前后结点中的语文成绩,使之与学号相匹配*/

        fen=max->yingyu;

        max->yingyu=p1->yingyu;

        p1->yingyu=fen;

        /*交换前后结点中的英语成绩,使之与学号相匹配*/

        fen=max->shuxue;

        max->shuxue=p1->shuxue;

        p1->shuxue=fen;

        /*交换前后结点中的数学成绩,使之与学号相匹配*/

        }

        }

        max=head;p1=head;/*重新使max,p指向链表头*/

        }

       p2->next=NULL;/*链表结尾*/

        printf("输入的学生数为:%d个!\n",n);

        return(head);

       }

       /*==============================================================================================*/

       /*==============================================================================================*/

       score *load(score *head)

       /*函数load,功能:从文件读入学生记录*/

       { score *p1,*p2;

        int m=0;

        char filepn[];

        FILE *fp;

        printf("请输入文件路径及文件名:");

        scanf("%s",filepn);/*输入文件路径及名称*/

        if((fp=fopen(filepn,"r+"))==NULL)

        {

        printf("不能打开文件!\n");

        return 0;

        }

        fscanf(fp," 考试成绩管理系统 \n");

        fscanf(fp," 作者:梅雪 班级:电信 学号: \n");

        fscanf(fp,"-----------------------------------------\n");

        fscanf(fp,"|学号\t|姓名\t|语文\t|英语\t|数学\t|\n");

        fscanf(fp,"-----------------------------------------\n");/*读入表格域*/

        printf(" 考试成绩管理系统 \n");

        printf(" 作者:梅雪 班级:电信 学号: \n");

        printf("-----------------------------------------\n");

        printf("|学号\t|姓名\t|语文\t|英语\t|数学\t|\n");

        printf("-----------------------------------------\n");/*打印表格域*/

        m=m+1;

        if(m==1)

        {

        p1=(score *)malloc(LEN); /*开辟一个新单元*/

        fscanf(fp,"%d%s%f%f%f",&p1->number,p1->name,&p1->yuwen,&p1->yingyu,&p1->shuxue);

        printf("|%d\t|%s\t|%.1f\t|%.1f\t|%.1f\t|\n",p1->number,p1->name,p1->yuwen,p1->yingyu,p1->shuxue);

        /*文件读入与显示*/

        head=NULL;

        do

        {

        n=n+1;

        if(n==1) head=p1;

        else { p2->next=p1;

        p2=p1};

        p1=(score *)malloc(LEN); /*开辟一个新单元*/

        fscanf(fp,"%d%s%f%f%f\n",&p1->number,p1->name,&p1->yuwen,&p1->yingyu,&p1->shuxue);

        printf("|%d\t|%s\t|%.1f\t|%.1f\t|%.1f\t|\n",p1->number,p1->name,p1->yuwen,p1->yingyu,p1->shuxue);

        /*文件读入与显示*/

        }while(!feof(fp));

        p2->next=p1;

        p1->next=NULL;

        n=n+1;

        }printf("-----------------------------------------\n");/*表格下线*/

        fclose(fp);/*结束读入,关闭文件*/

        return (head);

       }

       /*==============================================================================================*/

       /*==============================================================================================*/

       score *add(score *head,score *stu)

       /*函数add,功能:追加学生资料,并且将所有学生资料按学号排序*/

       {

        score *p0,*p1,*p2,*p3,*max;

        int i,j;

        float fen;

        char t[];

        p3=stu=(score *)malloc(LEN);/*开辟一个新单元*/

        printf("\n输入要增加的学生的资料!");

        repeat4: printf("请输入学生学号(学号应大于0):");

        scanf("%d",&stu->number);

        /*输入学号,学号应大于0*/

        while(stu->number<0)

        { getchar();

        printf("输入错误,请重新输入学生学号:");

        scanf("%d",&stu->number);}/*输入错误,重新输入学号*/

        /