- 2022-2023(1)C++程序设计实验6-by Lyx
- 编程题
- 1. #类和对象-学生成绩计算
【问题描述】创建一个学生类,成员变量有姓名(Name),学号(ID)和三门课c++(CPlusScore)和高等数学(AMathScore)和大学英语(CEngScore)的成绩,成员函数有max()和avg(),分别为计算每个学生最高分和平均分的函数,如图1所示。初始化5个学生的信息,然后自定义函数实现计算5个学生的最高分的均值和平均分的均值并输出。
【样例输入】
1001 Kim 99 95 97
1002 Sam 89 78 85
1003 Tim 90 95 97
1004 Kathy 60 53 70
1005 Jane 70 89 63
【样例输出】
88.8
82.0
单文件解法
1. #include<bits/stdc++.h> 2. using namespace std; 3. class student 4. { 5. private: 6. string name; 7. int id; 8. int score[3]; 9. public: 10. void input() 11. { 12. cin>>id; 13. cin>>name; 14. for(int i=0;i<3;i++) 15. { 16. cin>>score[i]; 17. } 18. } 19. double avg() 20. { 21. double avg=0; 22. for(int i=0;i<3;i++) 23. { 24. avg=avg+score[i]; 25. } 26. avg=avg/3; 27. return avg; 28. } 29. double max() 30. { 31. double max=0; 32. for(int i=0;i<3;i++) 33. { 34. if(max<score[i]) 35. { 36. max=score[i]; 37. } 38. } 39. return max; 40. } 41. }; 42. int main() 43. { 44. double sum_max=0,sum_avg=0; 45. const int num=5; 46. student stu[num]; 47. for(int i=0;i<num;i++) 48. { 49. stu[i].input(); 50. } 51. for(int i=0;i<num;i++) 52. { 53. sum_max=sum_max+stu[i].max(); 54. sum_avg=sum_avg+stu[i].avg(); 55. } 56. cout<<fixed<<setprecision(1)<<sum_max/num<<endl<<fixed<<setprecision(1)<<sum_avg/num<<endl; 57. return 0; 58. }