用linux的shell编程做一个学生选课系统
时间: 2024-01-29 07:04:56 浏览: 27
好的,以下是一个简单的学生选课系统的Shell脚本:
```bash
#!/bin/bash
# 定义课程列表
declare -a courses=("数学" "英语" "物理" "化学" "计算机")
# 定义学生列表
declare -a students=("张三" "李四" "王五" "赵六" "钱七")
# 定义选课函数
function select_course() {
echo "请输入你的姓名:"
read name
# 检查学生是否存在
if [[ ! " ${students[@]} " =~ " ${name} " ]]; then
echo "该学生不存在!"
return
fi
echo "请选择你要选的课程编号:"
for i in "${!courses[@]}"; do
echo "$i. ${courses[$i]}"
done
read course_index
# 检查课程编号是否合法
if ! [[ "$course_index" =~ ^[0-9]+$ ]] || (( course_index >= ${#courses[@]} )); then
echo "无效的课程编号!"
return
fi
selected_course=${courses[$course_index]}
echo "${name} 选了 ${selected_course} 课程。"
}
# 主程序循环
while true; do
echo "欢迎使用学生选课系统!请选择您要进行的操作:"
echo "1. 选课"
echo "2. 退出"
read choice
case "$choice" in
"1")
select_course
;;
"2")
echo "谢谢使用!"
exit 0
;;
*)
echo "无效的选项!"
;;
esac
done
```
该脚本首先定义了课程列表和学生列表,然后定义了一个 `select_course()` 函数来实现选课功能。该函数首先要求用户输入姓名,然后显示课程列表并要求用户输入课程编号。如果输入的学生姓名不存在或者输入的课程编号无效,该函数会提醒用户并直接返回。否则,该函数会将选课信息输出。
主程序循环不断要求用户选择操作,直到用户选择退出为止。