用shell脚本写一个简单的学生成绩管理系统

编写一个shell脚本,实现一个简单的学生成绩管理系统,包括以下功能:

添加学生信息(姓名,成绩)。

显示所有学生信息。

根据学生姓名查询成绩。

计算平均成绩

#!/bin/bash
# 学生信息存储位置  填写你自己需要存储的位置,我这里的位置是/root/yunshell/studentinfo.txt
STUDENTINFO=/root/yunshell/studentinfo.txt
# 学生信息存储函数
function save_student(){
    NAME=$1
    SCORE=$2
    echo "$NAME, $SCORE"
}
# 展示学生信息函数
function show(){
    echo "------------------------------------------"
    cat $STUDENTINFO
    echo "------------------------------------------"
}
# 根据学生名字查询学生信息函数
function show_by_name(){
    echo "------------------------------------------"
    NAME=$1
    grep $NAME $STUDENTINFO
    echo "------------------------------------------"
}
# 计算学生平均成绩的函数
function cal_avg(){
    TOTAL=0
    COUNT=0
    while IFS="," read -r NAME SCORE;do
      TOTAL=$[$TOTAL + $SCORE]
      COUNT=$[$COUNT + 1]
    done < $STUDENTINFO
    avg=$[$TOTAL / $COUNT]
    echo "平均成绩为:$avg"
}

# 展示
while true;
    do
    echo "****************学生管理系统***************"
    echo "*1-添加学生             2-显示学生信息    *"
    echo "*3-查询学生             4-计算平均成绩    *"
    echo "*5-退出                                  *"
    echo "******************************************"
    read -p "请做出你的选择:" choice
    case $choice in
      1)
        read -p "请输入学生的姓名:" NAME
        read -p "请输入学生的成绩:" SCORE
        save_student $NAME $SCORE
      ;;
      2)
        show
      ;;
      3)
        read -p "请输入要查询的学生名字:" NAME
        show_by_name $NAME
      ;;
      4)
        cal_avg
      ;;
      5)
        echo "退出学生管理系统"
        break
      ;;
      *)
        echo "输入参数错误"
      ;;
    esac
done

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

日出于东山之岫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值