티스토리 뷰

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
	<script type="text/javascript">
	var Tot =new Array();
	var grade=new Array();
	var arr=new Array();
	
	function input()
	{
		
		var str="";
		var arr=new Array(new Array(),new Array(),new Array(),new Array(),new Array(),new Array() );
		//이름들 ,국영수들,총점들,등수들 배열 선언 즉,속성 선언 //사용자로부터 입력받는 것 이기 대문에
		//ex) 속성을 20개를 만들면 20명의 학생의 무한개의 속성이 선언 ? 헷삭림
		
		
		var n=0;
		
		do
		{
			str=prompt("이름 국어 영어 수학("+(n+1)+") : ");

			
			if( str==""|| str=="." || str==" ")
				{
					break;
				}
			var member =str.split(" ");
			arr[0][n]=member[0];
			arr[1][n]=member[1];
			arr[2][n]=member[2];
			arr[3][n]=member[3];
			arr[4][n]=(Number(member[1])+Number(member[2])+Number(member[3])).toString();
			arr[5][n]="1";	//등수는 모두 일단 1로 다 가득 채워넣겠다는 의미
			
			
			n++;
			
		} while (true);
		
			//석차 산출 (반복문 중첩)
			for(var i=0; i<arr[0].length; i++)
				{
					for(var j=0; j<arr[0].length; j++)
						{
							if(i==j)
							{
								continue; // i , j 가 0,1,2,3,4 일때 밑에 구문 수행 X 	
							}
						
							if(Number(arr[4][i]) < Number(arr[4][j]) )	//성적 비교하기 위해 Number로 선언 (i번째,j번째 학생)
							{
								//i번째 학생의 등수를 1만큼 증가
								arr[5][i] = (Number(arr[5][i])+1).toString();
								//숫자연산 진행 후 문자열로 바시 바꿔줌
							}
						}
				
				}

			var result="";
			
			for(var j=0; j<arr[0].length; j++)
			{
				for(var k=0; k<arr.length; k++)
					{
						//테스트
						//alert(k+","+j); //뒤에가 학생 (0,0)=>홍길동 (1,0)->홍길동의 국어점수(2,0)->홍길동의 수학
										//즉, k는 속성들 j는 학생
						result += arr[k][j] +" ";
						
					}
				result+= "\n"; //다 돌고나서 textarea이므로 개행을 해줘야함
			}
			
			document.getElementById("count").value=arr[0].length; //반대의 개념이므로 arr의 몇번째 . length로 선언
			document.getElementById("areatext").value ="이름  국어  영어  수학  총점  석차\n";
			document.getElementById("areatext").value+="---------------------------------------\n";
			document.getElementById("areatext").value+=result;
	}
	
	</script>
</head>
<body>

	<!--  prompt()를 활용하여
	여러 명의 성적을 입력받고, 등수를 부여하여
	리스트를 출력하는 페이지를 구성한다.
	
	페이지 레이아웃
	--------------------------------------------
	<성적 정보 입력> 						->prompt()
											 (이름,국어,영어,수학(1) :
	
	전체 인원 수 : [ ]명
	-----------------------------------------------
	이름 	국어 	영어	수학	총점	등수
	-----------------------------------------------
	박지혜   90      80       70     xxx      1등
	백호진   80      70       60     xxx      2등
	정광현   70      60       50     xxx      3등
	 
	 -->
	 
     <input type="button" value="성적 정보 입력" onclick="input()" ><br><br>
	 전체 인원 수 : <input type="text" id="count">
	 <textarea rows="25" cols="40" id="areatext" readonly="readonly"></textarea>
	 
</body>
</html>

'Web(국비) > 자바스크립트' 카테고리의 다른 글

JavaScript 만년달력  (0) 2019.10.18
JavaScript - TableNode 생성 및 추가 예제  (0) 2019.10.18
알아두기  (0) 2019.10.18
JavaScript - prompt()  (0) 2019.10.18
JavaScript-split문제  (0) 2019.10.18