Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <html>
- <head>
- <title>
- Assignment 2: GPA Calculator
- </title>
- <script type="text/JavaScript">
- var SENTINEL = 'end';
- var courseArray = new Array();
- var gradeArray = new Array();
- var avg = 0;
- var sum = 0;
- var highestGradeIndex = 0;
- var lowestGradeIndex = 0;
- var courseCode = "";
- var courseGrade = 0.0;
- function isValidCourseCode(courseCode) {
- return /[A-Z]{3}[1-9]{1}[0-9]{3}/.test(courseCode);
- }
- var i = 0;
- while (true) {
- courseCode = prompt('Enter course code:');
- if (!courseCode.localeCompare(SENTINEL)) {
- break;
- }
- while (!isValidCourseCode(courseCode)) {
- alert('The input is invalid.');
- courseCode = prompt('Input course code:');
- if (!courseCode.localeCompare(SENTINEL)) {
- break;
- }
- }
- courseGrade = parseFloat(prompt('Enter ' + courseCode + ' grade:'));
- while (!((+courseGrade >= 3 && +courseGrade <= 7) || (+courseGrade == 1.5))) {
- alert('The input is invalid.');
- courseGrade = parseFloat(prompt('Enter ' + courseCode + ' grade:'));
- }
- courseArray[i] = courseCode;
- gradeArray[i] = +courseGrade;
- i += 1;
- }
- for (i = 1; i < courseArray.length; i++) {
- if (gradeArray[i] > gradeArray[highestGradeIndex]) {
- highestGradeIndex = i;
- } else if (gradeArray[i] < gradeArray[lowestGradeIndex]) {
- lowestGradeIndex = i;
- }
- /* Calcuate GPA here as well */
- var sum = 0;
- for(var i=0; i<gradeArray.length; i++){
- sum += gradeArray[i];
- }
- if(gradeArray.length!=0){
- avg = sum/gradeArray.length;
- avg = avg.toFixed(1)
- }
- }
- var entries = courseArray.length
- var highestGradeCourse = courseArray[highestGradeIndex];
- var lowestGradeCourse = courseArray[lowestGradeIndex];
- document.writeln('<table border="1">');
- document.writeln('<tr>');
- document.write('<th>Course</th>');
- document.write('<th>Grade</th>');
- document.writeln('</tr>');
- for (i = 0; i < courseArray.length; i++) {
- document.writeln('<tr>');
- document.write('<td>' + courseArray[i] + '</td>');
- document.write('<td>' + gradeArray[i] + '</td>');
- document.writeln('</tr>');
- }
- document.writeln('</table><br />');
- document.writeln('<h6>Information</h6><br />');
- document.writeln('The number of courses entered are: ' +entries +'<br />');
- document.writeln('The highest grade achieved was for: ' +highestGradeCourse +'<br />');
- document.writeln('The lowest grade achieved was for: ' +lowestGradeCourse +'<br />');
- document.writeln('GPA: ' +avg);
- </script>
- </title>
- </head>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement