6.学生随机抽号演讲计分系统(★★★★)
设计一款用于课程大作业检查或比赛计分的软件,基本功能:
(1)设置本课程的学生总数
(2)根据本次参与的学生总数,随机抽取一个还未汇报演讲的学生的学号。
(3)每个学生汇报演讲完毕,输入该学生的得分(假设有5个评委,则需输入5个成绩)。
(4)计算该选手的得分:去掉最高分和最低分,其余的分数求平均,并显示选手序号、姓名、得分。
(5)学生的成绩。
(6)对演讲过的学生作上标记,下次程序运行时不再抽取该学号。
(7)每次退出程序时(不一定一次能进行完所有的学生的汇报,可以分多次进行),将学生的序号、姓名、成绩写入文件。
(8)结束对学生成绩进行排序,显示,并按照一等奖10%、二等奖20%、三等奖30%的比例确定选手的获奖名次,并将结果写入文件保存。
拓展功能:赛前事先输入评委人数,设置选手姓名、序号,选手上场顺序由程序随机抽取,已经抽取过的选手信息在文件中作出标记,下次不再抽取。其他更多方便用户使用的功能。
#include
#include
#include
#include #define MAX_STUDENTS 100
#define MAX_NAME_LENGTH 20
#define MAX_SCORES 5
#define FILE_NAME "scores.txt"// 学生信息结构体
struct Student {int id;char name[MAX_NAME_LENGTH];int scores[MAX_SCORES];int reported; // 是否已经汇报演讲
};// 全局变量
int student_count = 0;
int reported_count = 0;
int judge_count = 5;
struct Student students[MAX_STUDENTS];
完整代码:链接:https://pan.baidu.com/s/19NBoPNSW4iFQ13sksuZAwg?pwd=6666
提取码:6666