首页 > 其他分享 >C语言学生成绩管理系统(大同大学)[2023-03-03]

C语言学生成绩管理系统(大同大学)[2023-03-03]

时间:2023-03-03 14:26:03浏览次数:50  
标签:03 C语言 文件 纪录 学生 修改 模块 2023 成绩

C语言学生成绩管理系统(大同大学)[2023-03-03]

大同大学

十五、学生成绩管理系统 (难)
1、需求分析
学生纪录用文件存储,因而要提供文件的输入输出操作;要实现插入一个新的学生纪录,因而要提供文件的插入操作;要实现学生纪录得修改和删除,以及登记成绩和修改成绩、因而要提供文件纪录的修改和删除操作;要浏览全班成绩,故要提供显示操作;计算学生总成绩需要提供简单的统计操作;要按学号排序输出全班成绩表,因而要提供排序操作;另外要提供键盘式选择菜单以实现功能选择。
2、总体设计
整个成绩管理系统设计为数据插入模块、数据修改模块、数据删除模块、成绩登记模块、成绩修改模数据浏览模块、成绩统计模块、成绩表查看模块。
3、详细设计
数据结构采用结构体,设计学生纪录结构体:

typedef struct studentRecord
    char stuNo[15];//学号
    char name[20];//姓名
    int age;//年龄
    float math;//数学
    float english;//英语
    float physics;//物理
}SR;

(1)主函数输出提示菜单: 插入学生纪录、修改学生纪录、修改成绩、删除学生纪录、登记成绩、浏览学生纪录、查看总成绩、查看成绩表
(2)数据插入模块
采用追加的方式用fwrite或fprintf把学生成绩信息写入学生成绩信息文件。
(3)数修改模块
通过菜单选择修改学生纪录,用 fopen 打开该文件,从文件中读一条记录,判断是否要修改,如果是,则修改后重新写入文件:否则直接重新写入文件,读下一条记录。
(4)数据删除模块
通过菜单选择删除学生纪录,用 fopen 打开该文件,从文件中读一条记录,判断是否要删除,如果是,则舍弃;否则重新写入文件,读下一条记录。
(5)成绩登记模块
类似数据修改模块,只是修改字段为各个科目的成绩。
(6)成绩修改模块
参考数据修改模块。
(7) 数据浏览模块
用fscanf或fread读取学生成绩信息文件,分屏输出,每屏10 条纪录
(8)成绩统计模块用fscanf或fread 从学生成绩信息文件中读取一个学生纪录,计算该学生的总成绩(简单的成绩相加).输出,然后读取下一条纪录。
(9) 成绩表查看模块
建立结构体数组

struct
{
    SR record;//学生纪录
    float total;//总成绩
}stu[N];

从学生成绩信息文件中读取各个纪录,total 中存放计算得到的总成绩。然后采用排序算法(冒泡、插选择等) 对数组按照总成绩进行排序。最后顺序输出。

源码

https://pan.baidu.com/s/1pq1Nwwo0hlc_J84F93HM4A?pwd=1111

标签:03,C语言,文件,纪录,学生,修改,模块,2023,成绩
From: https://www.cnblogs.com/codewriter/p/17175457.html

相关文章