Linux趣事 -- (2.4)學生信息管理系統

這篇是在前面三篇的基礎上繼續完善學生信息管理系統的功能。

(1)http://blog.csdn.net/wjf_1997/article/details/78474118
(2)http://blog.csdn.net/wjf_1997/article/details/78502039
(3)http://blog.csdn.net/wjf_1997/article/details/78513086

實現功能:修改

一、功能描述

修改功能從兩個方面進行數據的修改,涉及到的函數有三個:

(1)update_stuName_info():通過學生編號更新學生的姓名

(2)update_stuCollege_info():通過學生編號更新學生的學院

二、代碼

2.1 update_stuName_info()

update_stuName_info(){

    show_stu_info;
    echo "請輸入要修改信息的學生編號(默認僅可以修改自己的信息):"
    read studentNo
    export nowLine=0;
    stringLine=`grep $studentNo $DBStudentInfoPath`
    stuName=`echo "$stringLine" | awk -F ',' '{print $2}'`
    stuCollegeNo=`echo "$stringLine" | awk -F ',' '{print $3}'`
    studentSay=`echo "$stringLine" | awk -F ',' '{print $4}'`
    echo "要更新的學生信息記錄爲:$stringLine"
    echo "請輸入新的名字:"
    read newStudentName 
    while read line
    do
        lineStudentNo=${line/,*/}
        export nowLine=$(($nowLine+1))
        if [ "$lineStudentNo" = "$studentNo" ]; then
        {
            sed "$nowLine"d $DBStudentInfoPath > $DBStudentInfoPath"_back"
            mv $DBStudentInfoPath"_back" $DBStudentInfoPath       
            echo "$studentNo,$newStudentName,$stuCollegeNo,$studentSay" >> $DBStudentInfoPath
            echo "更新成功!"
            show_stu_info;
        }
        fi
    done<$DBStudentInfoPath
}

2.2 update_stuCollege_info()

update_stuCollege_info(){

    show_stu_info;
    echo "請輸入要修改信息的學生編號(默認僅可以修改自己的信息):"
    read studentNo
    export nowLine=0;
    stringLine=`grep $studentNo $DBStudentInfoPath`
    stuName=`echo "$stringLine" | awk -F ',' '{print $2}'`
    stuCollegeNo=`echo "$stringLine" | awk -F ',' '{print $3}'`
    studentSay=`echo "$stringLine" | awk -F ',' '{print $4}'`
    echo "要更新的學生信息記錄爲:$stringLine"
    echo "請輸入新學院編號:"
    read newstuCollegeNo
    while read line
    do
        lineStudentNo=${line/,*/}
        export nowLine=$(($nowLine+1))
        if [ "$lineStudentNo" = "$studentNo" ]; then
        {
            sed "$nowLine"d $DBStudentInfoPath > $DBStudentInfoPath"_back"
            mv $DBStudentInfoPath"_back" $DBStudentInfoPath       
            echo "$studentNo,$stuName,$newstuCollegeNo,$studentSay" >> $DBStudentInfoPath
            echo "更新成功!"
            show_stu_info;
        }
        fi
    done<$DBStudentInfoPath
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章