this is my first post on this forum, so please excuse any mistakes i make.
Anyways, I am trying to finish my javascript project that calculates a semester grade for a single class.
I have been working on this for quite a while and i am on the last step of finishing.
Everything in this code works fine, but I do not know how to get the "homeNumber" "projNumber" and "examNumber" in the orinigal functions to carry down into my final function. Without this step, my final calculation is always NaN. Please Help
</head>
<body>
<script type="text/javascript">
<!--
/* Read in the homework grade from the user */
function getHomework(lowerNum, upperNum, homeScore, homeNumber)
{
var i;
var g = 0;
homeNumber = parseFloat(prompt("Please enter number of homework:"));
homeScore = new Array(homeNumber)
for(i = 0; i < homeNumber; i++)
{
g = (g + 1)
while (homeScore[i] < lowerNum || homeScore[i] > upperNum || isNaN(homeScore[i]))
{
homeScore[i] = parseInt(prompt("Enter homework " + g + " score:"));
if (homeScore[i] < lowerNum || homeScore[i] > upperNum || isNaN(homeScore[i]))
{
alert("Please enter valid numbers. (0 to 105)");
}
}
}
return homeScore
return homeNumber
}
/* Read in the project grade from the user */
function getProject(lowerNum, upperNum, projScore, projNumber)
{
var a;
var b = 0;
projNumber = parseFloat(prompt("Please enter number of project:"));
projScore = new Array(projNumber)
for(a = 0; a < projNumber; a++)
{
b = (b + 1)
while (projScore[a] < lowerNum || projScore[a] > upperNum || isNaN(projScore[a]))
{
projScore[a] = parseInt(prompt("Enter project " + b + " score:"));
if (projScore[a] < lowerNum || projScore[a] > upperNum || isNaN(projScore[a]))
{
alert("Please enter valid numbers. (0 to 105)");
}
}
}
return projScore
return projNumber
}
/* Read in the exam grade from the user */
function getExam(lowerNum, upperNum, examScore, examNumber)
{
var c;
var d = 0;
examNumber = parseFloat(prompt("Please enter number of exam:"));
examScore = new Array(examNumber)
for(c = 0; c < examNumber; c++)
{
d = (d + 1)
while (examScore[c] < lowerNum || examScore[c] > upperNum || isNaN(examScore[c]))
{
examScore[c] = parseInt(prompt("Enter exam " + d + " score:"));
if (examScore[c] < lowerNum || examScore[c] > upperNum || isNaN(examScore[c]))
{
alert("Please enter valid numbers. (0 to 105)");
}
}
}
return examScore
return examNumber
}
/* Calculating the average */
function getAverage()
{
var finalHome;
var finalProj;
var finalExam;
var finalGrade;
var homeScore;
var projScore;
var examScore;
var homeNumber = 1;
var projNumber = 1;
var examNumber = 1;
var homeMulti;
var projMulti;
var examMulti;
homeScore = getHomework(0,105,homeScore,homeNumber);
projScore = getProject(0,105,projScore,projNumber);
examScore = getExam(0,105,examScore,examNumber);
document.write(examScore);
document.write(examNumber)
homeMulti = (.12 / homeNumber);
projMulti = (.28 / projNumber);
examMulti = (.60 / examNumber);
document.write(examMulti);
finalHome = (homeScore * homeMulti);
finalProj = (projScore * projMulti);
finalExam = (examScore * examMulti);
finalGrade = (finalHome + finalProj + finalExam);
document.write(finalExam);
if(finalGrade > 89.51)
{
document.write("<p>Your final letter grade in the class is an A.</p>");
}
else if(89.51 > finalGrade && finalGrade > 79.51)
{
document.write("<p>Your final letter grade in the class is a B.</p>");
}
else if(79.51 > finalGrade && finalGrade > 69.51)
{
document.write("<p>Your final letter grade in the class is a C.</p>");
}
else if(69.51 > finalGrade && finalGrade > 59.51)
{
document.write("<p>Your final letter grade in the class is a D.</p>");
}
else if(59.51 > finalGrade && finalGrade > 0)
{
document.write("<p>Your final letter grade in the class is an F.</p>");
}
else
{
document.write("<p>Your final letter grade in the class is not avaliable.</p>");
}
}
getAverage()
-->
</script>
</head>

New Topic/Question
Reply



MultiQuote




|