Sh Script Help - Grading Papers
How do I make the average grade show a decimal point?
Instead of showing Average Grade = 33%. I want it to show Average Grade = 33.3333%
This is my code so far:
#!/bin/bash
read -p "Number of Papers To Grade: " numpap
av=$numpap
while [ $av -gt 0 ];
do
av=$(($av - 1))
echo "Enter a Number (1-100): "
read num
if [[ $num -ge 1 && $num -le 100 ]] ; then
echo ""
else
print "NOT in 1-100 range"
av=$(($av + 1))
total=$(($total - num))
fi
total=$(($total + num))
done
averag=$(($total/$numpap))
echo "Average Grade = $averag%"
echo "Done"
linux bash unix sh
add a comment |
How do I make the average grade show a decimal point?
Instead of showing Average Grade = 33%. I want it to show Average Grade = 33.3333%
This is my code so far:
#!/bin/bash
read -p "Number of Papers To Grade: " numpap
av=$numpap
while [ $av -gt 0 ];
do
av=$(($av - 1))
echo "Enter a Number (1-100): "
read num
if [[ $num -ge 1 && $num -le 100 ]] ; then
echo ""
else
print "NOT in 1-100 range"
av=$(($av + 1))
total=$(($total - num))
fi
total=$(($total + num))
done
averag=$(($total/$numpap))
echo "Average Grade = $averag%"
echo "Done"
linux bash unix sh
It is bad design to ask up-front how many papers to grade. Just read inputs until there are no more. Then report the average.
– William Pursell
Nov 23 '18 at 2:36
Super easy just create a loop to ask for a grade or finished imputing then calculate average and quit
– Mike Q
Nov 23 '18 at 3:23
add a comment |
How do I make the average grade show a decimal point?
Instead of showing Average Grade = 33%. I want it to show Average Grade = 33.3333%
This is my code so far:
#!/bin/bash
read -p "Number of Papers To Grade: " numpap
av=$numpap
while [ $av -gt 0 ];
do
av=$(($av - 1))
echo "Enter a Number (1-100): "
read num
if [[ $num -ge 1 && $num -le 100 ]] ; then
echo ""
else
print "NOT in 1-100 range"
av=$(($av + 1))
total=$(($total - num))
fi
total=$(($total + num))
done
averag=$(($total/$numpap))
echo "Average Grade = $averag%"
echo "Done"
linux bash unix sh
How do I make the average grade show a decimal point?
Instead of showing Average Grade = 33%. I want it to show Average Grade = 33.3333%
This is my code so far:
#!/bin/bash
read -p "Number of Papers To Grade: " numpap
av=$numpap
while [ $av -gt 0 ];
do
av=$(($av - 1))
echo "Enter a Number (1-100): "
read num
if [[ $num -ge 1 && $num -le 100 ]] ; then
echo ""
else
print "NOT in 1-100 range"
av=$(($av + 1))
total=$(($total - num))
fi
total=$(($total + num))
done
averag=$(($total/$numpap))
echo "Average Grade = $averag%"
echo "Done"
linux bash unix sh
linux bash unix sh
edited Nov 27 '18 at 6:11
PossibleTango
asked Nov 23 '18 at 1:17
PossibleTangoPossibleTango
11
11
It is bad design to ask up-front how many papers to grade. Just read inputs until there are no more. Then report the average.
– William Pursell
Nov 23 '18 at 2:36
Super easy just create a loop to ask for a grade or finished imputing then calculate average and quit
– Mike Q
Nov 23 '18 at 3:23
add a comment |
It is bad design to ask up-front how many papers to grade. Just read inputs until there are no more. Then report the average.
– William Pursell
Nov 23 '18 at 2:36
Super easy just create a loop to ask for a grade or finished imputing then calculate average and quit
– Mike Q
Nov 23 '18 at 3:23
It is bad design to ask up-front how many papers to grade. Just read inputs until there are no more. Then report the average.
– William Pursell
Nov 23 '18 at 2:36
It is bad design to ask up-front how many papers to grade. Just read inputs until there are no more. Then report the average.
– William Pursell
Nov 23 '18 at 2:36
Super easy just create a loop to ask for a grade or finished imputing then calculate average and quit
– Mike Q
Nov 23 '18 at 3:23
Super easy just create a loop to ask for a grade or finished imputing then calculate average and quit
– Mike Q
Nov 23 '18 at 3:23
add a comment |
1 Answer
1
active
oldest
votes
Here are some hints that might point you in the right direction.
Check the bash man page on while loops, the read builtin, and evaluating math expressions with the $((...)) construct.
For another approach, you might also look into for loops, the $(...) construct and the man page for the seq command.
That should give you some pieces to the puzzle. Good luck!
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53439626%2fsh-script-help-grading-papers%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
Here are some hints that might point you in the right direction.
Check the bash man page on while loops, the read builtin, and evaluating math expressions with the $((...)) construct.
For another approach, you might also look into for loops, the $(...) construct and the man page for the seq command.
That should give you some pieces to the puzzle. Good luck!
add a comment |
Here are some hints that might point you in the right direction.
Check the bash man page on while loops, the read builtin, and evaluating math expressions with the $((...)) construct.
For another approach, you might also look into for loops, the $(...) construct and the man page for the seq command.
That should give you some pieces to the puzzle. Good luck!
add a comment |
Here are some hints that might point you in the right direction.
Check the bash man page on while loops, the read builtin, and evaluating math expressions with the $((...)) construct.
For another approach, you might also look into for loops, the $(...) construct and the man page for the seq command.
That should give you some pieces to the puzzle. Good luck!
Here are some hints that might point you in the right direction.
Check the bash man page on while loops, the read builtin, and evaluating math expressions with the $((...)) construct.
For another approach, you might also look into for loops, the $(...) construct and the man page for the seq command.
That should give you some pieces to the puzzle. Good luck!
answered Nov 23 '18 at 8:31
DjPadzDjPadz
3614
3614
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53439626%2fsh-script-help-grading-papers%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
It is bad design to ask up-front how many papers to grade. Just read inputs until there are no more. Then report the average.
– William Pursell
Nov 23 '18 at 2:36
Super easy just create a loop to ask for a grade or finished imputing then calculate average and quit
– Mike Q
Nov 23 '18 at 3:23