亲宝软件园·资讯

展开

C语言学生成绩管理系统

reg183 人气:0

效果如下:

代码如下:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

struct student{
        int num;
        char name[20];
        float score1;
        float score2;
        float score3;
        double total;
}stu[4];


void a();
void b();
void c();
void d();
void e();
int main(void)
{
    //printf("Hello World!\n");


       int n;
       while(n!=6){

           printf("\t student score manage system\n");
           printf("1-input all student's score!\n");
           printf("2-show all student's score!\n");
           printf("3-output student's average score!\n");
           printf("4-output student's score and rank!\n");
           printf("5-result output txt file!\n");
           printf("6-exit!\n");
           scanf("%d",&n);
           switch(n){
               case 1:a();break;
               case 2:b();break;
               case 3:c();break;
               case 4:d();break;
               case 5:e();break;
               case 6:printf("******ByeBye******");break;
           }
       }

    return 0;
}

//输入成绩
void a(){
    int i;
    for(i=0;i<4;i++){
        printf("input num name score1 score2 score3: ");
        scanf("%d%s%f%f%f",&stu[i].num,stu[i].name,&stu[i].score1,&stu[i].score2,&stu[i].score3);
    }

    for(i=0;i<4;i++){
        stu[i].total=stu[i].score1+stu[i].score2+stu[i].score3;
    }
}
//输出成绩
void b(){
    int i;
    printf("num \t name \t score1 \t score2 \t score3 \t total \n");
    for(i=0;i<4;i++){
        printf("%d \t %s \t %f \t %f \t %f \t %f \n",stu[i].num,stu[i].name,stu[i].score1,stu[i].score2,stu[i].score3,stu[i].total);
    }
}

//求平均成绩
void c(){

    double total=0;
    double avg;
    int i;
    for(i=0;i<4;i++){
        total+=stu[i].total;
    }
    avg=total/4.0;
    printf("avg is :%f \n",avg);
}

//按照总成绩排序
void d(){
    struct student temp;
    int i,j;
    for(i=0;i<4;i++){

        for(j=i+1;j<4;j++){
            temp=stu[i];
            stu[i]=stu[j];
            stu[j]=temp;
        }
    }

    printf("num \t name \t score1 \t score2 \t score3 \t total \n");
    for(i=0;i<4;i++){
        printf("%d \t %s \t %f \t %f \t %f \t %f \n",stu[i].num,stu[i].name,stu[i].score1,stu[i].score2,stu[i].score3,stu[i].total);
    }
}

// 保存数据到文件
void e(){

    int i;
    FILE *fp;
    fp=fopen("E:/result.txt","w");

    fprintf(fp,"num \t name \t score1 \t score2 \t score3 \t total \n");

    for(i=0;i<4;i++){
        fprintf(fp,"%d \t %s \t %f \t %f \t %f \t %f \n",stu[i].num,stu[i].name,stu[i].score1,stu[i].score2,stu[i].score3,stu[i].total);

    }

    printf(" save success! \n ");
}

加载全部内容

相关教程
猜你喜欢
用户评论