天天看点

《C语言及程序设计》实践参考——学生成绩统计

【项目1-学生成绩统计】

每位同学的信息学号、姓名、c、高数、英语成绩。定义一个学生成绩的结构体数组,其中的数据成员包括学号(char num[13])、姓名(name)、三门课的成绩(grade)、总分(score)、均分(average))。

(1)从键盘上输入n名学生的信息(n定义为常变量);

(2)求出每名同学的总分和均分,并存储在结构体数组中(可以读入过程中“顺便”计算);

(3)输出每位同学的信息学号、姓名、总分和均分。

请参考下面的代码,将需要的其他代码写出来。

参考运行结果如图:

《C语言及程序设计》实践参考——学生成绩统计

[参考解答]

(4)使用相同的结构体类型,在main函数中已经对结构体数组进行了初始化,请完成相关函数的定义,实现main函数中要求的功能。

从文件中读出数据,存放到结构体数组中;

求出每名同学的总分(可以在读入过程中“顺便”计算);

输出结构体数组中所有同学的记录;

按总分排序(降序);

输出排序后的成绩单;

有30名同学可以获得奖学金,规则是总分高者优先,有挂科不能得奖学金。请输出可以得奖学金同学的名单。若符合得将的最后一名同学有重复(例如总分全为s),则总分为s的同学全得奖。

所有功能可以在main()函数中实现,推荐设计自定义函数实现任务,更推荐用多文件组织完成。

(6)在前面工作的基础拟出新的需求,将程序用一个“菜单”组织起来(如图所示),做成一个“学生成绩管理系统”之类的应用程序。

《C语言及程序设计》实践参考——学生成绩统计

继续阅读