So I need to take the average of 5 grades and display that final average as a letter grade (10 point scale...). We are NOT allowed to use && and ||, and I keep getting 'integer expression expected' syntax errors for all of my if statements.
If someone feels like pointing me in the correct direction, that would rule. We cannot use case logic yet, but I know that would probably be easier. I seem to keep framing this in python, but can't quite get it to work out.
#!/bin/bash
2 # Bash shell script to calculate student average
3 # Usage: ./grade1.sh
4
5 # Declare some integer type variables
6 declare -i test1
7 declare -i test2
8 declare -i test3
9 declare -i test4
10 declare -i lab
11 declare -i sum
12
13 echo
14 echo "=================="
15 echo "Grade Calculator "
16 echo "=================="
17 echo
18 read -p "Enter first name: " firstname
19 read -p "Enter last name: " lastname
20 echo
21 read -p "Enter test score 1: " test1
22 read -p "Enter test score 2: " test2
23 read -p "Enter test score 3: " test3
24 read -p "Enter test score 4: " test4
25 read -p "Enter lab score: " lab
26
27 sum=$test1+$test2+$test3+$test4+$lab
28 average=`echo "$sum / 5" | bc -l`
29 if [ "$average" -ge 90 ]; then
30 echo "Course grade: A"
31 fi
32 if [ "$average" -ge 80 -a "$average" -le 90 ]; then
33 echo "Course grade: B"
34 fi
35 if [ "$average" -ge 70 -a "$average" -le 80 ]; then
36 echo "Course grade: C"
37 fi
38 if [ "$average" -ge 60 -a "$average" -le 70 ]; then
39 echo "Course grade: D"
40 fi
41 if [ "$average" -le 60 ]; then
42 echo "Course grade: F"
43 fi
44 echo
45 echo "Grade results . . ."
46 echo "Student name: $firstname $lastname"
47 echo "Total points: $sum"
48 echo "Course average: $average"
49 echo
50
51 exit 0
Aucun commentaire:
Enregistrer un commentaire