用C语言编程实现一个简单的学生成绩管理系统

1.输入一组考试成绩
2.屏幕显示考试成绩
3.将成绩储存到磁盘文件中
4.从磁盘文件中读出考试成绩,屏幕显示考试成绩
5.计算平均分
6.求最高分
7.求最低分
8.统计不及格人数并计算不及格率
9.退出系统
这几个功能

#include <stdio.h>#include <string.h> typedef struct student{    char name[20];         /* 姓名 */    int code;              /* 学号 */    int kor, eng, math;      /* 3门课程的成绩 */}STUDENT; /* 返回输入数据 */STUDENT Input(); /* 输出所有输入的数据 */void Output(STUDENT info[], int cnt); /* 将输入分数转换为A-F */char grade(int score); int main(){    STUDENT S[10];    int cnt = 0, select;    int i, j;    int code;     while(1)    {        printf("\t学生信息管理系统\n\n");        printf("\t\t1\t添加\n");        printf("\t\t2\t删除\n");        printf("\t\t3\t查询\n");        printf("\t\t0\t结束\n");        printf("\t\t您的选择[0-3]:");        scanf("%d", &select);         if(select < 0 || select > 3)            continue;        if(select == 0)        {            printf("退出系统!\n");            break;        }         if(select == 1)           /* 添加 */        {                      S[cnt++] = Input();        }        else if(select == 2) /* 删除 */        {            printf("\t\t待删除学生的学号:");            scanf("%d", &code);             for(i=0; i<cnt; i++)                if(S[i].code == code)                    break;            if(i >= cnt)            {                printf("学号不存在,删除失败!\n");            }            else {                for(j=i+1; j<cnt; j++)                {                    strcpy(S[j-1].name, S[j].name);                    S[j-1].code = S[j].code;                    S[j-1].kor = S[j].kor;                    S[j-1].eng = S[j].eng;                    S[j-1].math = S[j].math;                }                cnt--;                printf("删除成功!\n");            }        }        else                    /* 查询 */        {            printf("\t\t待查找学生的学号:");            scanf("%d", &code);             for(i=0; i<cnt; i++)                if(S[i].code == code)                    break;            if(i >= cnt)            {                printf("学号不存在,查找失败!\n");            }            else            {                printf("\t查询结果:\n");                Output(S, i);            }        }    }     return 0;} /* 返回输入数据 */STUDENT Input(){    STUDENT stu;    printf("\t\t新学生信息\n");    printf("\t\t学号:");    scanf("%d", &stu.code);    printf("\t\t姓名:");    getchar();    gets(stu.name);    printf("\t\t3门课程成绩(以空格分隔):");    scanf("%d%d%d", &stu.kor, &stu.eng, &stu.math);     return stu;} /* 输出所有输入的数据 */void Output(STUDENT info[], int cnt){    printf("学号:%d\n",info[cnt].code);    printf("姓名:");    puts(info[cnt].name);    printf("成绩:%c %c %c\n", grade(info[cnt].kor), grade(info[cnt].eng), grade(info[cnt].math));} /* 将输入分数转换为A-F */char grade(int score){    if(score < 0 || score > 100)        return 'F';    if(score >= 90)        return 'A';    if(score >= 80)        return 'B';    if(score >= 70)        return 'C';    if(score >=60)        return 'D';    else        return 'E';}

运行测试:

温馨提示:答案为网友推荐,仅供参考
相似回答