辽河油田建设有限公司网站,哈尔滨城乡建设厅网站,平台推广怎么写,个人网页设计欣赏网站系列文章
任务28 成绩管理系统 文章目录 系列文章一、实践目的与要求1、目的2、要求 二、课题任务三、总体设计1.存储结构及数据类型定义2.程序结构3.所实现的功能函数4、程序流程图 四、小组成员及分工五、 测试读入数据浏览全部信息增加学生信息保存数据删除学生信息修改学生…系列文章
任务28 成绩管理系统 文章目录 系列文章一、实践目的与要求1、目的2、要求 二、课题任务三、总体设计1.存储结构及数据类型定义2.程序结构3.所实现的功能函数4、程序流程图 四、小组成员及分工五、 测试读入数据浏览全部信息增加学生信息保存数据删除学生信息修改学生信息按姓名查询按学号查询成绩统计排序退出 六、源代码获取 一、实践目的与要求
1、目的
通过此次实践环节主要达到以下目的 1进一步理解和运用结构化程序设计的思想和方法学会根据具体问题选择合理的计算机存储结构实现数据的存储构造较有效率的算法 2学会算法描述的方法并编制具有结构清晰、合理和易读性的小型实用程序 3并会设计测试方案完成程序的测试能撰写出该程序的技术报告为文档整理工作打下一个初步的基础 4培养小组成员间互相学习取长补短协同工作的能力。
2、要求
1模块化程序设计锯齿型书写格式代码要有足够的注释 2根据课题中规定的要求实现既定目标 3撰写格式排版规范、结构完整的技术文档。
二、课题任务
题目、内容及主要功能描述
成绩管理系统 1问题描述 现有学生成绩信息内容如下 姓名 学号 语文 数学 英语 张明明 01 67 78 82 李成友 02 78 91 88 张辉灿 03 68 82 56 王露 04 56 45 77 陈东明 05 67 38 47
编写一系统实现学生信息管理。 2) 基本要求 功能要求 1信息维护 要求学生信息数据要以文件的形式保存能实现学生信息数据的维护。此模块包括子模块有增加学生信息、删除学生信息按学号、修改学生信息按学号 2信息查询 要求查询时可实现按姓名查询、按学号查询、浏览全部信息 3成绩统计 要求A输入任意的一个课程名如数学和一个分数段如60–70统计出在此分数段的学生情况。 4排序能对用户指定的任意课程名按成绩升序或降序排列学生数据并显示排序结果使用表格的形式显示排序后的输出结果使用多种方法排序者加分
三、总体设计
1.存储结构及数据类型定义
采用了什么存储结构、被处理数据定义的数据类型数据类型定义中要有注释说明
#define MAXLEN 1000 // 名称和学号的最大长度
#define MAXNUM 1000 // 学生人数的最大值
#define MAXCOURSE 3 // 课程数量的最大值typedef struct {char name[MAXLEN];char id[MAXLEN];double score[MAXCOURSE];
} student; // 学生结构体包含姓名、学号、成绩等信息
2.程序结构
程序整体的模块结构图
3.所实现的功能函数
每个功能对应的函数名、函数形参及返回值说明
void read_data(student data[], int* count);// 从文件中读入数据 函数名称是read_data 函数形参是student data[], int* count 函数返回值是void
void save_data(student* data, int count);// 将数据保存到文件中 函数名称是save_data 函数形参是student* data, int count 函数返回值是void
int add_student(student data[], int count);// 添加学生信息 函数名称是add_student 函数形参是student data[], int count 函数返回值是int
int delete_student(student data[], int count);// 删除学生信息 函数名称是delete_student 函数形参是student data[], int count 函数返回值是int
int modify_student(student data[], int count);// 修改学生信息 函数名称是modify_student 函数形参是student data[], int count 函数返回值是int
void print_student(student s);// 打印单个学生信息 函数名称是print_student 函数形参是student s函数返回值是void
void print_all_students(student data[], int count);// 浏览全部学生信息 函数名称是print_all_students 函数形参是student data[], int count 函数返回值是void
void search_by_name(student data[], int count);// 按姓名查询 函数名称是search_by_name 函数形参是student data[], int count 函数返回值是void
void search_by_id(student data[], int count);// 按学号查询 函数名称是 search_by_id 函数形参是student data[], int count 函数返回值是void
void search_all(student data[], int count);// 浏览全部学生信息 函数名称是search_all 函数形参是student data[], int count 函数返回值是void
void stat_by_score(student data[], int count);// 成绩统计 函数名称是stat_by_score 函数形参是student data[], int count 函数返回值是void
int cmp_score_asc(const void* a, const void* b);// 成绩升序排列的比较函数 函数名称是cmp_score_asc 函数形参是const void* a, const void* b 函数返回值是int
int cmp_score_desc(const void* a, const void* b);// 成绩降序排列的比较函数 函数名称是cmp_score_desc 函数形参是const void* a, const void* b 函数返回值是int 4、程序流程图 四、小组成员及分工
组长、组员及每人承担的具体模块任务或其他 组长完成显示菜单、读取文件中的学生成绩信息到students数组、把学生信息写入文件 统计学生成绩并排名模块。
void read_data(student data[], int* count);// 从文件中读入数据
void save_data(student* data, int count);// 将数据保存到文件中
int add_student(student data[], int count);// 添加学生信息
int delete_student(student data[], int count);// 删除学生信息
int modify_student(student data[], int count);// 修改学生信息组员1完成添加学生信息、删除学生信息、根据学生学号查找学生模块
void print_student(student s);// 打印单个学生信息
void print_all_students(student data[], int count);// 浏览全部学生信息
void search_by_name(student data[], int count);// 按姓名查询
void search_by_id(student data[], int count);// 按学号查询组员2完成修改学生补考成绩、修改学生信息姓名或成绩、显示所有学生信息模块
void search_all(student data[], int count);// 浏览全部学生信息
void stat_by_score(student data[], int count);// 成绩统计
int cmp_score_asc(const void* a, const void* b);// 成绩升序排列的比较函数
int cmp_score_desc(const void* a, const void* b);// 成绩降序排列的比较函数五、 测试
整合各功能模块后的测试结果截图及说明
读入数据 浏览全部信息 增加学生信息 保存数据 删除学生信息 修改学生信息 按姓名查询 按学号查询 成绩统计 排序 退出 六、源代码获取
本次的分享就到这里啦创作不易感谢点赞收藏 感兴趣的小伙伴可以在评论区留言或者私信我哦
提示代码获取链接 下载源码