评奖系统设计

news/2023/11/30 9:06:13

系列文章

任务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。

在这里插入图片描述

将统计结果输出

在这里插入图片描述

六、源代码获取

本次的分享就到这里啦,创作不易,感谢点赞收藏👍
感兴趣的小伙伴可以在评论区留言或者私信我哦💕

提示:代码获取链接: 下载源码


https://www.xjx100.cn/news/344650.html

相关文章

分布式事务解决方案-Seata

分布式事务解决方案-Seata 1.分布式事务问题1.1.本地事务1.2.分布式事务1.3.演示分布式事务问题 2.理论基础2.1.CAP定理2.1.1.一致性2.1.2.可用性2.1.3.分区容错2.1.4.矛盾 2.2.BASE理论2.3.解决分布式事务的思路 3.初识Seata3.1.Seata的架构3.2.部署TC服务3.3.微服务集成Seata…

C++多态详解(虚函数重写、接口继承、虚函数表详解)

目录 1. 多态概念 2. 多态的定义及实现 2.1 多态的构成条件 2.2 虚函数重写 2.3 C11 override和final 2.4 重载、覆盖&#xff08;重写&#xff09;、隐藏&#xff08;重定义&#xff09;的对比 3. 抽象类 3.1 概念 3.2 接口继承和实现继承 4. 多态的原理 4.1 虚函数表 4.2…

编程练习【判断两个时间是否存在冲突】

给你两个字符串数组 event1 和 event2 &#xff0c;表示发生在同一天的两个闭区间时间段事件&#xff0c;其中&#xff1a; event1 [startTime1, endTime1] 且 event2 [startTime2, endTime2] 事件的时间为有效的 24 小时制且按 HH:MM 格式给出。 当两个事件存在某个非空的…

一、尚医通预约下单

文章目录 一、预约下单1、需求分析1.1订单表结构1.2下单分析 2、搭建service-order模块2.1 搭建service-order模块2.2 修改配置2.3 启动类2.4配置网关 3、添加订单基础类3.1 添加model3.2 添加Mapper3.3 添加service接口及实现类3.4 添加controller 4、封装Feign调用获取就诊人…

牛客小白月赛71

链接&#xff1a;牛客小白月赛71_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJ A&#xff1a;猫猫与广告 观察题目&#xff0c;让我们找到一个牌子去遮挡一下另一块牌子&#xff0c;考虑到边对齐&#xff0c;直接进行判断即可&#xff0c;判断的时候记得考虑短边对…

如何用ChatGPT学Python

ChatGPT狂飙160天&#xff0c;世界已经不是之前的样子。 新建了人工智能中文站https://ai.weoknow.com 每天给大家更新可用的国内可用chatGPT资源 ChatGPT的能力大家肯定都听说过&#xff0c;很多学生应该都亲身体验过。它在自然语言处理方面的出色表现绝对颠覆了之前公众对人…

如何下载旧版的Chrome

&#xff08;下面网址需要科学上网&#xff09; 1.获得浏览器版本号 访问 https://www.google.com 然后在搜索框中输入要搜索的浏览器版本号&#xff0c;例如 : site:chromereleases.googleblog.com 96.0。其中96.0是大版本号。 2.查询浏览器版本号的具体信息 访问 https://…

Android 12.0开机过滤部分通知声音(莫名其妙的通知声音)

1.概述 在12.0的开发产品的时候,有时候在开机的时候会有一些通知的声音,但是由于系统模块太多,也搞不清楚到底是哪个模块发出的通知声音,所以就需要从通知的流程来屏蔽这些通知声音 2.开机过滤部分通知声音(莫名其妙的通知声音)核心代码 frameworks/base/core/java/androi…