<성적 프로그램 작성>
#!/usr/bin/ksh
echo "==============================="
echo " Input Score "
echo "==============================="
echo "Input Student name : \c"
read SN
echo "Input Shell Programming score : \c"
read SPS
echo "Input Solaris 10 score :\c"
read STS
echo "Input Network score : \c"
read NES
echo "Input Input CCNA score : \c"
read CCS
echo "==============================="
echo "$SN $SPS $STS $NES $CCS \c" >> /gm/Score
AVG=`expr \( $SPS + $STS + $NES + $CCS \) / 4`
echo "$AVG \c" >> /gm/Score
if [ $AVG -ge 90 ]
then
GRADE=A
elif [ $AVG -ge 80 ]
then
GRADE=B
elif [ $AVG -ge 70 ]
then
GRADE=C
elif [ $AVG -ge 60 ]
then
GRADE=D
else
GRADE=F
fi
echo "$GRADE" >> /gm/Score
<평균>
#!/usr/bin/ksh
awk '{print " " $1}' /gm/Score > /gm/NAME
cut -d " " -f6 /gm/Score > /gm/AVG
LN=`grep -n " " ./Score | cut -d ":" -f1 | tail -1`
i=1
TOTAL=0
echo `head -1 /gm/AVG | tail -1`
while [ i -le $LN ]
do
TMP=`head -"$i" /gm/AVG | tail -1`
TOTAL=`expr \( $TMP + $TOTAL \)`
i=`expr $i + 1`
done
TOTAL=`expr $TOTAL / $LN`
echo "==============================="
echo " Calc Average"
echo "==============================="
echo " Name AVG"
echo "-------------------------------"
paste -d " " /gm/NAME /gm/AVG
echo "-------------------------------"
echo " Total $TOTAL"
echo "==============================="
rm -rf /gm/NAME
rm -rf /gm/AVG
<성적>
#!/usr/bin/ksh
awk '{print " " $1}' /gm/Score > /gm/NAME
cut -d " " -f7 /gm/Score > /gm/GRADE
echo "==============================="
echo " Calc Average"
echo "==============================="
echo " Name GRADE"
echo "-------------------------------"
paste -d " " /gm/NAME /gm/GRADE
echo "==============================="
rm -rf /gm/NAME
rm -rf /gm/GRADE
<순위>
#!/usr/bin/ksh
awk '{print " " $1 " " $6}' /gm/Score | sort -n -r -k2 | cut -d" " -f1 > /gm/NAME
cut -d " " -f6 /gm/Score | sort -n -k6 > /gm/AVG
LN=`grep -n " " ./Score | cut -d ":" -f1 | tail -1`
i=2
TOTAL=0
echo "1" > /gm/Ranking
while [ i -le $LN ]
do
echo "$i" >> /gm/Ranking
i=`expr $i + 1`
done
TOTAL=`expr $TOTAL / $LN`
echo "==============================="
echo " Calc Ranking"
echo "==============================="
echo " Name RANK"
echo "-------------------------------"
paste -d " " /gm/NAME /gm/Ranking
echo "==============================="
rm -rf /gm/NAME
rm -rf /gm/AVG
<특정 학생 성적>
#!/usr/bin/ksh
echo "Enter student name : \c"
read NAME
SHELL=`grep $NAME /gm/Score | cut -d " " -f2`
SOL10=`grep $NAME /gm/Score | cut -d " " -f3`
NET=`grep $NAME /gm/Score | cut -d " " -f4`
CCNA=`grep $NAME /gm/Score | cut -d " " -f5`
echo "==============================="
echo " Calc Average"
echo "==============================="
echo "name Shell Sol10 Net CCNA"
echo "-------------------------------"
echo "$NAME $SHELL $SOL10 $NET $CCNA"
echo "==============================="
<관리 프로그램 소스>
#!/usr/bin/ksh
while [ 1 ]
do
echo "==============================="
echo " Grade ManageR "
echo "==============================="
echo " 1. Input Score "
echo " 2. Calc Average "
echo " 3. Calc Grade "
echo " 4. Calc Ranking "
echo " 5. View Student "
echo "==============================="
echo "Enter number : \c"
read num
case $num in
"1")
/gm/IS.sh
;;
"2")
/gm/CA.sh
;;
"3")
/gm/CG.sh
;;
"4")
/gm/CR.sh
;;
"5")
/gm/VS.sh
;;
esac
done
<스택 구현>
=============================================
Grade Manager
=============================================
1. Input Score
2. Calc Average
3. Calc Grade
4. Calc Ranking
5. View Student
=============================================
1번 입력시
=============================================
Input Score
=============================================
Input Student name :
Input Shell Programming score :
Input Solaris 10 score :
Input Network score :
Input CCNA score :
2번 입력시
=============================================
Calc Average
=============================================
Name AVG
---------------------------------------------
a 55
b 65
c 95
---------------------------------------------
total 75
=============================================
3번 입력시
=============================================
Calc Grade
=============================================
Name Grade
---------------------------------------------
a D
b C
c A
=============================================
A 90
B 80
C 70
D 60
F 60 이하
4번 입력시
=============================================
Calc Ranking
=============================================
Name Rank
---------------------------------------------
c 1
b 2
a 3
=============================================
5번 입력시
Enter Student name :
=============================================
View Student`s Grade
=============================================
name Shell Sol10 Net CCNA AVG
---------------------------------------------
SJB 100 100 100 100 100
=============================================
'IT > SHELL' 카테고리의 다른 글
Shell 조건문 if 구구단 (0) | 2024.01.31 |
---|---|
Shell 프로그래밍 (0) | 2024.01.31 |