這篇是在前面三篇的基礎上繼續完善學生信息管理系統的功能。
(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
}