자바스크립트 과목,평균,반평균 점수,순위 출력하기WEB JAVA SPRING/JS2023. 8. 24. 17:21
Table of Contents
과목
<!DOCTYPE html>
<html>
<body>
<script>
var name =prompt("이름 ");
var k =prompt("국어 ");
k=Number(k);
var e =prompt("영어 ");
e=Number(e);
var m =prompt("수학 ");
m=Number(m);
var s =prompt("과학 ");
s=Number(s);
var student = new Array(k,e,m,s);
var total = 0;
for(var i = 0; i<student.length; i++)
{
total = total + student[i];
}
var ave= total/ student.length;
var r;
if(ave>=90 && ave<=100)
alert( r="수");
else if(ave>=80 && ave<=89)
alert(r= " 우");
else if(ave>=70 && ave<=79)
alert(r=" 미");
else if(ave>=60 && ave<=69)
alert(r=" 양");
else
alert(r=" 가");
document.write('이름  국어  영어  수학   과학  평균  평가   ' + '<br />' + '-------------------------------------------------------<br>');
document.write(name + ' '+ ' '+ ' '+ ' ' +' ' +
k + ' '+ ' '+ ' '+' ' +' ' +
e+ ' ' + ' '+ ' '+ ' '+' ' +
m+ ' ' + ' '+' '+' '+' ' +' ' +
s+ ' ' + ' '+' '+' '+' ' +
ave+ ' '+ ' '+' '+' '+' ' +
r);
</script>
</body>
</html>
평균
<!DOCTYPE html>
<html>
<body>
<table border=1>
<script>
function ms(name, kor, math, eng, sci) {
this.이름 = name;
this.국어 = kor;
this.수학 = math;
this.영어 = eng;
this.과학 = sci;
}
ms.prototype.총점 = function() {
var sum = 0;
sum = this.국어 + this.수학 + this.영어 + this.과학;
return sum;
}
ms.prototype.평균 = function() {
var ave = (this.총점() / (Object.keys(this).length - 1)).toFixed(1);
return ave;
}
ms.prototype.toString = function() {
var s = "<tr>";
for (k in this) {
if (typeof(this[k]) != "function") {
s += k + '\t' + this[k] + '\n';
}
}
return s;
}
var students = [];
students.push(new ms('윤인성', 87, 98, 88, 95));
students.push(new ms('연하진', 92, 98, 96, 98));
students.push(new ms('구지연', 76, 96, 94, 90));
students.push(new ms('나선주', 98, 92, 96, 92));
students.push(new ms('윤아린', 95, 98, 98, 98));
students.push(new ms('윤명월', 64, 88, 92, 92));
students.push(new ms('김미화', 82, 86, 98, 88));
students.push(new ms('김연화', 88, 74, 78, 92));
students.push(new ms('박아현', 97, 92, 88, 95));
students.push(new ms('서준서', 45, 52, 72, 78));
document.write('<tr>');
for (var k in (Object(students[0]))) {
if (k != "toString") {
document.write("<th>");
document.write(k);
document.write("</th>");
}
}
document.write('</tr>');
for (var i in students) {
document.write('<tr>');
for (var j in students[i]) {
if (j != "toString" && j != '총점' && j != '평균') {
document.write("<td>");
document.write(students[i][j]);
document.write("</td>");
}
if (j == '총점' || j == '평균') {
document.write("<td>");
document.write(students[i][j]());
document.write("</td>");
}
}
document.write('</tr>');
} //이름
var tot = [], kn = 0;
for (k in students[0]) {
if (k != 'toString') {
tot[kn] = 0;
document.write('<td>');
for (i in students) {
if (k == '이름') {
tot[kn] = ' ';
} else if (k == '총점') {
tot[kn] += students[i].총점();
} else if (k == '평균') {
tot[kn] += Number(students[i].평균());
} else {
tot[kn] += students[i][k];
}
}
if (tot[kn] == ' ') {
document.write('<tr>');
document.write("<td>반평균</td>");
} else {
document.write(tot[kn++] / students.length);
}
}
}
document.write("</tr>");
</script>
</table>
</body>
</html>
순위
<!DOCTYPE html>
<html> <head>
<script>
function ms(name, korean, math, english, science) {
var willReturn = {
이름:name, 국어:korean, 수학:math, 영어:english,
과학: science,
총점: function () {
var sum = 0;
for(var k in this) if( !isNaN(this[k]) ) sum += this[k];
return sum;
},
평균: function () {
return (this.총점() / (Object.keys(this).length - 4)).toFixed(2);
},
toString: function () {
var s="";
for(k in this) if(typeof(this[k])!="function")
s += "<td>" + this[k] + "</td>";
s += "<td>" + this.총점() + "</td><td>" + this.평균() + "</td>";
return s;
}
};
return willReturn;
}
var students = []; // 학생 정보 배열을 만듭니다.
students.push(ms('윤인성', 87, 98, 88, 95));
students.push(ms('연하진', 92, 98, 96, 98));
students.push(ms('구지연', 76, 96, 94, 90));
students.push(ms('나선주', 98, 92, 96, 92));
students.push(ms('윤아린', 95, 98, 98, 98));
students.push(ms('윤명월', 64, 88, 92, 92));
students.push(ms('김미화', 82, 86, 98, 88));
students.push(ms('김연화', 88, 74, 78, 92));
students.push(ms('박아현', 97, 92, 88, 95));
students.push(ms('서준서', 45, 52, 72, 78));
</script>
</head>
<body bgcolor=beige>
<table border=1 bgcolor=lime>
<tr>
<script>
for (var k in students[0])
if(k!='toString')
document.write("<th>"+k+"</th>");
document.write("<th>순위</th>\n</tr>\n");
students.sort(function (left,right) {
return right.총점() - left.총점();
});
students5 = students.slice(0,5); // 1 ~ 5위 까지
var j=1;
for (i in students5)
document.write("<tr align=center>"+students5[i]+"<td>"+j++ +"</td></tr>");
var tot=[], kn=0;
document.write("<tr>");
for(k in students[0]) if(k!='toString')
{
tot[kn] = 0;
for (i in students)
{
// tot[kn] += students[i][k];
if( k=='이름' ) tot[kn] = '';
else if( k=='총점' ) tot[kn] += students[i].총점();
else if( k=='평균' ) tot[kn] += Number(students[i].평균());
else tot[kn] += students[i][k];
//console.log(k," ",kn," ",tot[kn]," ",i);
}
if( tot[kn]=='' )
document.write("<td>반 평균</td>");
else
document.write("<td>"+(tot[kn++]/students.length).toFixed(2)+"</td>");
}
document.write("</tr>");
// document.write((tot[kn-2]/((Object.keys(students[0]).length-4)*(i+1))).toFixed(2));
</script>
</pre>
</body> </html>
'WEB JAVA SPRING > JS' 카테고리의 다른 글
jquery (0) | 2023.09.12 |
---|---|
Ajax 개념과 코드 적용(댓글 등록) (0) | 2023.09.12 |
json데이터를 활용한 기초적인 홈페이지 (0) | 2023.08.24 |
자바스크립트 테이블 만들기 (0) | 2023.08.24 |
자바스크립트 문자열 뒤집기 (0) | 2023.08.24 |