编辑代码

import Foundation

// 定义学生结构体Students
struct Student {
    var name: String
    var id: String
    var gender: String
    var chineseScore: Double
    var mathScore: Double
    var englishScore: Double
    
    // 初始化器
    init(name: String, id: String, gender: String, chineseScore: Double, mathScore: Double, englishScore: Double) {
        self.name = name
        self.id = id
        self.gender = gender
        self.chineseScore = chineseScore
        self.mathScore = mathScore
        self.englishScore = englishScore
    }
    
    // 计算总成绩
    func totalScore() -> Double {
        let sum = chineseScore + mathScore + englishScore
        return sum
    }
    // 计算平均成绩
    func averageScore() -> Double {
        return totalScore()/3
    }
}

// 创建学生实例
var s1 = Student(name: "吴江瑶", id: "0214790", gender: "女", chineseScore: 90, mathScore: 95, englishScore: 100)
var s2 = Student(name: "张三", id: "0214555", gender: "男", chineseScore: 94, mathScore: 92, englishScore: 91)
var s3 = Student(name: "李四", id: "0214666", gender: "男", chineseScore: 89, mathScore: 95, englishScore: 92)

// 存储所有学生实例
var students = [s1, s2, s3]

// 提示用户输入学生姓名或学号
print("请输入要查找的学生姓名或学号:")
if let input = readLine() {
    var found = false
    for student in students {
        // 判断用户输入的信息是姓名还是学号
        if input == student.name || input == student.id {
            found = true
            // 输出学生信息
            print("查找成功,该学生:\(student.name)")
            print("学号:\(student.id)")
            print("性别:\(student.gender)")
            print("语文成绩:\(student.chineseScore)")
            print("数学成绩:\(student.mathScore)")
            print("英语成绩:\(student.englishScore)")
            print("总成绩:\(student.totalScore())")
            print("平均成绩:\(student.averageScore())")
            break
        }
    }
    if !found {
        print("未找到该学生信息。")
    }
} else {
    print("输入无效。")
}