package studentsystem
import std.convert.*
import std.env.*
// ═════════════════════════════════════════════════════════════════════════════
// 主函数
// ═════════════════════════════════════════════════════════════════════════════
/**
* 主函数
*/
main() {
// 初始化数据
initData()
// 清屏
clear()
// 死循环:获取并执行用户输入的命令
while (true) {
println("============================================")
println(" 学 生 信 息 管 理 系 统 ")
println("============================================")
println("请输入命令:")
println("主动清屏【0】 学生管理模块【1】 课程管理模块【2】 成绩管理模块【3】 退出【4】")
// 获取输入信息
var input = getStdIn().readln() ?? ""
// 获取命令代码
if (let Some(value) <- Int32.tryParse(input)) {
match (value) {
// 【0】主动清屏
case 0 => clear()
// 【1】学生管理模块
case 1 => manageStudents()
// 【2】课程管理模块
case 2 => manageCourses()
// 【3】成绩管理模块
case 3 => manageScores()
// 【4】退出
case 4 => break
// 命令输入错误
case _ => println("命令输入错误,请重新输入!")
}
} else {
println("命令输入错误,请重新输入!")
}
pause()
}
return 0
}
// ═════════════════════════════════════════════════════════════════════════════
// 学生管理模块菜单
// ═════════════════════════════════════════════════════════════════════════════
/**
* 学生管理模块
*/
func manageStudents() {
// 学生管理器
let mgr = StudentManager.propInstance
while (true) {
println("--------------------------------------------")
println(" 学 生 管 理 ")
println("--------------------------------------------")
println("请输入命令:")
println("主动清屏【0】 显示所有学生【1】 添加学生【2】 查询学生【3】 删除学生【4】 修改学生【5】 退出【6】")
// 获取输入信息
var input = inputInfo<Int32>()
// 获取命令代码
match (input) {
// 【0】主动清屏
case 0 => clear()
// 【1】显示所有学生信息
case 1 => mgr.printStudents()
// 【2】添加学生信息
case 2 => mgr.inputStudent()
// 【3】查询学生信息
case 3 => mgr.queryStudent()
// 【4】删除学生信息
case 4 => mgr.deleteStudent()
// 【5】修改学生信息
case 5 => mgr.modifyStudent()
// 【6】退出学生管理
case 6 => break
// 命令输入错误
case _ => println("无效命令!")
}
pause()
}
}
// ═════════════════════════════════════════════════════════════════════════════
// 课程管理模块菜单
// ═════════════════════════════════════════════════════════════════════════════
/**
* 课程管理模块
*/
func manageCourses() {
// 课程管理器
let mgr = CourseManager.propInstance
while (true) {
println("--------------------------------------------")
println(" 课 程 管 理 ")
println("--------------------------------------------")
println("请输入命令:")
println("主动清屏【0】 显示所有课程【1】 录入课程【2】 查询课程【3】 删除课程【4】 修改课程【5】 退出【6】")
// 获取输入信息
var input = inputInfo<Int32>()
// 获取命令代码
match (input) {
// 【0】主动清屏
case 0 => clear()
// 【1】显示所有课程
case 1 => mgr.printCourses()
// 【2】录入课程
case 2 => mgr.inputCourse()
// 【3】查询课程
case 3 => mgr.queryCourse()
// 【4】删除课程
case 4 => mgr.deleteCourse()
// 【5】修改课程
case 5 => mgr.modifyCourse()
// 【6】退出课程管理
case 6 => break
// 命令输入错误
case _ => println("无效命令!")
}
pause()
}
}
// ═════════════════════════════════════════════════════════════════════════════
// 成绩管理模块菜单(拓展任务)
// ═════════════════════════════════════════════════════════════════════════════
/**
* 成绩管理模块
*/
func manageScores() {
// 成绩管理器
let mgr = ScoreManager.propInstance
while (true) {
println("--------------------------------------------")
println(" 成 绩 管 理 ")
println("--------------------------------------------")
println("请输入命令:")
println("主动清屏【0】 录入成绩【1】 查询成绩【2】 修改成绩【3】 删除成绩【4】 课程成绩单【5】 学生成绩单【6】 退出【7】")
// 获取输入信息
var input = inputInfo<Int32>()
// 获取命令代码
match (input) {
// 【0】主动清屏
case 0 => clear()
// 【1】录入成绩
case 1 => mgr.inputScore()
// 【2】查询成绩
case 2 => mgr.queryScore()
// 【3】修改成绩
case 3 => mgr.modifyScore()
// 【4】删除成绩
case 4 => mgr.deleteScore()
// 【5】班级内某一课程成绩单显示
case 5 => mgr.printCourseScores()
// 【6】某学生所有课程成绩显示
case 6 => mgr.printStudentScores()
// 【7】退出成绩管理
case 7 => break
// 命令输入错误
case _ => println("无效命令!")
}
pause()
}
}