가치 있는 정보 준비 중
3초만 투자해 보세요!
Preparing valuable information
Just invest three seconds!
본문 바로가기
IT/SHELL

Shell 성적프로그램

by 콰나 | Quanna 2024. 1. 31.

<성적 프로그램 작성>

#!/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