shell脚本编写学生选课管理系统
时间: 2023-07-01 10:18:02 浏览: 225
好的,下面是一个用shell脚本编写的简单学生选课管理系统。
首先,我们需要创建两个文件:student.txt和course.txt。student.txt文件包含每个学生的姓名、学号和所选课程等基本信息,每个学生信息占据一行,不同字段之间用逗号分隔。course.txt文件包含每门课程的课程号、课程名和教师名等基本信息,每门课程信息占据一行,不同字段之间用逗号分隔。
接下来,我们可以编写一个shell脚本来实现学生选课管理系统。该脚本可以循环执行以下操作:
1. 显示菜单,让用户选择要执行的操作,例如选课、退课或查看已选课程等。
2. 根据用户选择的操作,执行相应的命令。例如,如果用户选择选课,则提示用户输入学生学号和要选的课程号,并将该信息添加到student.txt文件中;如果用户选择退课,则提示用户输入学生学号和要退的课程号,并从student.txt中删除该学生的该门课程信息。
3. 循环执行以上两个步骤,直到用户选择退出系统。
下面是一个简单的示例代码,可以作为参考:
```shell
#!/bin/bash
while true
do
echo "学生选课管理系统"
echo "1. 选课"
echo "2. 退课"
echo "3. 查看已选课程"
echo "0. 退出系统"
read -p "请选择要执行的操作:" choice
case $choice in
1)
read -p "请输入学生学号:" id
read -p "请输入要选的课程号:" course_id
course_name=$(grep "^$course_id" course.txt | cut -d ',' -f 2)
if [ -z "$course_name" ]; then
echo "无效的课程号,请重新输入!"
else
sed -i "/^$id,/d" student.txt
echo "$id,$course_id,$course_name" >> student.txt
echo "选课成功!"
fi
;;
2)
read -p "请输入学生学号:" id
read -p "请输入要退的课程号:" course_id
sed -i "/^$id,$course_id,/d" student.txt
echo "退课成功!"
;;
3)
read -p "请输入学生学号:" id
grep "^$id," student.txt | cut -d ',' -f 2,3
;;
0)
echo "感谢使用学生选课管理系统,再见!"
exit 0
;;
*)
echo "无效的选择,请重新输入!"
;;
esac
done
```
该脚本使用while循环不断显示菜单,让用户选择要执行的操作,然后根据用户的选择执行相应的命令。例如,如果用户选择选课,则提示用户输入学生学号和要选的课程号,并将该信息添加到student.txt文件中;如果用户选择退课,则提示用户输入学生学号和要退的课程号,并从student.txt中删除该学生的该门课程信息。
需要注意的是,该脚本中使用了sed和grep等Linux命令,因此需要在Linux系统中运行。如果您使用的是Windows系统,则需要先安装Cygwin或Git Bash等类Unix环境,才能运行该脚本。
希望这个示例可以帮助您了解如何用shell脚本编写学生选课管理系统。如果您有任何疑问或需要进一步的帮助,请随时告诉我。
阅读全文