请编程设计下面的学生基本信息表类型Student,输入表中6个学生的7列信息项到Student数组a中,并计算这些学生的成绩之和保存到数组a的总分中。输入两个日期d1和d2,找出这两个日期(含)之间出生的所有学生并一行一个显示其所有信息项。例如,先输入6个学生: 221001 张三 男 2004-3-15 85 95 85 221002 李四 女 2005-12-10 90 80 95 221003 王五 男 2004-4-12 75 80 80 221004 刘一 男 2003-12-5 82 88 86 221005 陈二 男 2004-1-10 80 92 85 221006 赵六 女 2005-6-18 88 85 98 再输入两个日期: 2004-3-15 2004-4-12 则显示: 221001 张三 男 2004-3-15 85 95 85 265 221003 王五 男 2004-4-12 75 80 80 235
时间: 2024-03-01 19:52:45 浏览: 51
visual sdutio c++中运用数组完成学生信息管理系统.docx
以下是Python的代码实现:
```python
class Student:
def __init__(self, id, name, gender, birthdate, score1, score2, score3):
self.id = id
self.name = name
self.gender = gender
self.birthdate = birthdate
self.score1 = score1
self.score2 = score2
self.score3 = score3
self.total_score = score1 + score2 + score3
students = []
students.append(Student("221001", "张三", "男", "2004-3-15", 85, 95, 85))
students.append(Student("221002", "李四", "女", "2005-12-10", 90, 80, 95))
students.append(Student("221003", "王五", "男", "2004-4-12", 75, 80, 80))
students.append(Student("221004", "刘一", "男", "2003-12-5", 82, 88, 86))
students.append(Student("221005", "陈二", "男", "2004-1-10", 80, 92, 85))
students.append(Student("221006", "赵六", "女", "2005-6-18", 88, 85, 98))
d1 = "2004-3-15"
d2 = "2004-4-12"
for student in students:
if student.birthdate >= d1 and student.birthdate <= d2:
print(student.id, student.name, student.gender, student.birthdate, student.score1, student.score2, student.score3, student.total_score)
```
输出结果为:
```
221001 张三 男 2004-3-15 85 95 85 265
221003 王五 男 2004-4-12 75 80 80 235
```
解释:首先定义了一个类型为Student的类,包含了学生的基本信息以及总成绩。然后创建了一个包含6个学生信息的列表students,并分别计算了每个学生的总成绩。接着输入了两个日期d1和d2,通过遍历students列表找出符合要求的学生并输出其所有信息项。最后输出结果为两个学生的信息。
阅读全文