系列文章
任务40 评奖系统设计
文章目录
- 系列文章
- 一、实践目的与要求
- 1、目的
- 2、要求
- 二、课题任务
- 三、总体设计
- 1.存储结构及数据类型定义
- 2.程序结构
- 3.所实现的功能函数
- 4、程序流程图
- 四、小组成员及分工
- 五、 测试
- 执行完毕程序展示成功!
- 学生投票,举例第一行的第一个数字是第一个老师,积分为8,第二个是第二个老师积分为5,第三个是第三个老师积分为3。
- 将统计结果输出
- 六、源代码获取
一、实践目的与要求
1、目的
通过此次实践环节主要达到以下目的:
(1)进一步理解和运用结构化程序设计的思想和方法,学会根据具体问题选择合理的计算机存储结构实现数据的存储,构造较有效率的算法;
(2)学会算法描述的方法,并编制具有结构清晰、合理和易读性的小型实用程序;
(3)并会设计测试方案,完成程序的测试,能撰写出该程序的技术报告,为文档整理工作打下一个初步的基础;
(4)培养小组成员间互相学习,取长补短,协同工作的能力。
2、要求
(1)模块化程序设计,锯齿型书写格式,代码要有足够的注释;
(2)根据课题中规定的要求实现既定目标;
(3)撰写格式排版规范、结构完整的技术文档。
二、课题任务
(题目、内容及主要功能描述)
评奖系统设计
为教务处设计一个学生评价老师的程序:
每位学生投一张票,选出自己最喜爱的老师,选票格式为:
| 第一喜爱的老师 | 第二喜爱的老师 |第三喜爱的老师 |
| 工号 |工号 |工号 |
上述数据存放在一个数据文件中。
根据票中情况给老师记分,记分规则为:
第一喜爱的老师:8分
第二喜爱的老师:5分
第三喜爱的老师:3分
请统计各位老师的总分,并由高到低顺序输出到一个文件中,如得分相同时,则优先考虑第一喜爱的老师,依次类推。
设老师数<=15, 工号分别是1,2,3………15
学生数<=100
三、总体设计
1.存储结构及数据类型定义
(采用了什么存储结构、被处理数据定义的数据类型,数据类型定义中要有注释说明)
#define MAX_TEACHERS 15 // 最大教师数目
#define MAX_STUDENTS 100 // 最大学生数目
typedef struct {
int id; // 工号
int score; // 得分
int first_count; // 第一位票数
int second_count; // 第二位票数
int third_count; // 第三位票数
} Teacher; // 教师结构体类型
2.程序结构
(程序整体的模块结构图)
3.所实现的功能函数
(每个功能对应的函数名、函数形参及返回值说明)
int compare(const void* a, const void* b) // 比较函数,用于qsort排序 函数名:compare 函数形参:const void* a, const void* b 函数返回值: int
int main() ;//主函数 函数名:main 函数形参:空 函数返回值:int
4、程序流程图
四、小组成员及分工
(组长、组员及每人承担的具体模块任务或其他)
组长:完成数据结构体的设计以及文件的读入以及写入文件还有用于qsort排序的比较函数。
组员1:完成得分累加的统计以及调用排序函数进行数据的排序。
组员2:完成测试数据的编写以及信息的初始化工作。
五、 测试
(整合各功能模块后的测试结果截图及说明)
执行完毕程序展示成功!
学生投票,举例第一行的第一个数字是第一个老师,积分为8,第二个是第二个老师积分为5,第三个是第三个老师积分为3。
将统计结果输出
六、源代码获取
本次的分享就到这里啦,创作不易,感谢点赞收藏👍
感兴趣的小伙伴可以在评论区留言或者私信我哦💕
提示:代码获取链接:
下载源码