第8章实验1:学生成绩管理系统V1.0

简介: 第8章实验1:学生成绩管理系统V1.0

第8章实验1:学生成绩管理系统V1.0


某班有最多不超过30人(具体人数由键盘输入)参加某门课程的考试,用一维数组作函数参数编程实现如下学生成绩管理:


(1)录入每个学生的学号和考试成绩;

(2)计算课程的总分和平均分;

(3)按成绩由高到低排出名次表;

(4)按学号由小到大排出成绩表;

(5)按学号查询学生排名及其考试成绩;

(6)按优秀(90100)、良好(8089)、中等(7079)、及格(6069)、不及格(0~59)5个类别,统计每个类别的人数以及所占的百分比;

(7)输出每个学生的学号、考试成绩。


#include<stdio.h>
#include<stdlib.h>
#define N 30
main()
{
    int n, i, j, temp1, temp2, choice, p, mark;
    long ids;
    float sum;
    printf("Input student number(n<30):\n");
    while (scanf("%d", &n))
    {
        if (n < 30 && n > 0)
            break;
        else
        {
            printf("Invalid Input!");
            continue;
        }
    }
    long id[N];
    float score[N];
Choice:
    printf("Management for Students' scores\n");
    printf("1.Input record\n");
    printf("2.Caculate total and average score of course\n");
    printf("3.Sort in descending order by score\n");
    printf("4.Sort in ascending order by number\n");
    printf("5.Search by number\n");
    printf("6.Statistic analysis\n");
    printf("7.List record\n");
    printf("0.Exit\n");
    printf("Please Input your choice:\n");
    scanf("%d", &choice);
    getchar();
    switch (choice)
    {
    case 1:
        goto a;
    case 2:
        goto b;
    case 3:
        goto c;
    case 4:
        goto d;
    case 5:
        goto e;
    case 6:
        goto f;
    case 7:
        goto g;
    case 0:
        goto end;
    default:
        printf("Input error!\n");
        goto Choice;
    }
a:
    printf("Input student's ID, name and score:\n");
    for (i = 1; i <= n; i++)
    {
        scanf("%ld %f", &id[i], &score[i]);
        getchar();
    }
    goto Choice;
b:
    sum = 0;
    for (i = 1; i <= n; i++)
        sum = sum + score[i];
    printf("sum=%.0f,aver=%.2f\n", sum, sum / n);
    goto Choice;
c:
    printf("Sort in descending order by score:\n");
    for (i = 1; i < n; i++)
        for (j = i + 1; j <= n; j++)
            if (score[j] > score[i])
            {
                temp1 = score[i], temp2 = id[i];
                score[i] = score[j], id[i] = id[j];
                score[j] = temp1, id[j] = temp2;
            }
    for (i = 1; i <= n; i++)
        printf("%ld\t%.0f\n", id[i], score[i]);
    goto Choice;
d:
    printf("Sort in ascending order by number:\n");
    for (i = 1; i < n; i++)
        for (j = i + 1; j <= n; j++)
            if (id[i] > id[j])
            {
                temp1 = score[i], temp2 = id[i];
                score[i] = score[j], id[i] = id[j];
                score[j] = temp1, id[j] = temp2;
            }
    for (i = 1; i <= n; i++)
        printf("%ld\t%.0f\n", id[i], score[i]);
    goto Choice;
e:
    printf("Input the number you want to search:\n");
    scanf("%ld", &ids);
    getchar();
    for (i = 1; i <= n; i++)
    {
        if (ids == id[i])
        {
            printf("%ld\t%.0f\n", id[i], score[i]);
            goto Choice;
        }
        else
            continue;
    }
    printf("Not found!\n");
    goto Choice;
f:
    for (i = 5; i <= 10; i++)
    {
        p = 0;
        for (j = 1; j <= n; j++)
        {
            mark = score[j] < 60 ? 5 : (int)score[j] / 10;
            if (mark == i)
                p++;
        }
        if (i == 5)
        {
            printf("<60\t%d\t%.2f%%\n", p, (float)p / n * 100);
            continue;
        }
        else if (i >= 6 && i <= 9)
        {
            printf("%d-%d\t%d\t%.2f%%\n", i * 10, i * 10 + 9, p, (float)p / n * 100);
            continue;
        }
        else
            printf("%d\t%d\t%.2f%%\n", i * 10, p, (float)p / n * 100);
    }
    goto Choice;
g:
    for (i = 1; i <= n; i++)
        printf("%ld\t%.0f\n", id[i], score[i]);
    goto Choice;
end:
    printf("End of program!\n");
    return 0;
}
相关文章
|
存储 API 索引
一个图书管理系统的综合小练习
一个图书管理系统的综合小练习
85 0
|
4月前
|
前端开发 JavaScript Java
计算机Java项目|图书大厦图书管理系统的设计与实现
计算机Java项目|图书大厦图书管理系统的设计与实现
|
5月前
|
JavaScript Java 数据库
基于SSM的计算机课程实验管理系统的设计与实现
基于SSM的计算机课程实验管理系统的设计与实现
34 1
|
5月前
|
SQL 缓存 Java
学生成绩管理系统的设计与实现(论文+源码)_kaic
学生成绩管理系统的设计与实现(论文+源码)_kaic
|
5月前
|
存储 安全 Java
图书管理系统的设计与实现
图书管理系统的设计与实现
|
XML 开发框架 前端开发
JavaWeb上机实验11 Servlet的应用(二)
JavaWeb上机实验11 Servlet的应用(二)
110 0
|
开发框架 前端开发 JavaScript
JavaWeb上机实验3 数据库访问(三)
JavaWeb上机实验3 数据库访问(三)
115 0
|
XML 开发框架 前端开发
JavaWeb上机实验12 Servlet的应用(三)
JavaWeb上机实验12 Servlet的应用(三)
113 1
|
前端开发 JavaScript Java
JavaWeb上机实验5 Servlet的应用(一)
JavaWeb上机实验5 Servlet的应用(一)
138 0
|
前端开发 JavaScript Java
JavaWeb上机实验2 数据库访问(二)
JavaWeb上机实验2 数据库访问(二)
87 0