[프로그램 11-2]
©
J.-H. Kang, CNU 제 2 단계 [프로그램 11-2]
[프로그램 11-1]에 다음 기능을 추가한다.
학생들의 성적에 대해 학점을 부여한다.
학점 별 학생수를 출력한다.
실습
51
입출력
입력
매번 학번과 성적을 입력 받을지 (Yes/No) 여부를 먼저 묻는다.
Yes 이면 한 학생의 학번과 점수를 입력 받는다.
성적이 0보다 작거나 100 보다 크면 오류메시지를 내보내고, 입 력은 무시한다.
No 이면 입력을 종료한다.
출력
입력된 학번과 점수와 그에 해당하는 학점을 출력한다.
평균점과 평균 이상인 학생수를 출력한다.
입력된 점수와 그에 해당하는 학점을 출력한다.
마지막에 학점 별 학생수를 출력한다.
©
J.-H. Kang, CNU 출력의 예
실습
53
? 학생정보를 입력하려면 ‘Y’를 , 입력을 종료하려면 ‘N’을 치시오: Y - 학번을 입력하시오: 201199999
-점수를 입력하시오: 82
? 학생정보를 입력하려면 ‘Y’를 , 입력을 종료하려면 ‘N’을 치시오: Y - 학번을 입력하시오: 201188888
-점수를 입력하시오: 45
? 학생정보를 입력하려면 ‘Y’를 , 입력을 종료하려면 ‘N’을 치시오: Y - 학번을 입력하시오: 201122222
-점수를 입력하시오: 93
? 학생정보를 입력하려면 ‘Y’를 , 입력을 종료하려면 ‘N’을 치시오: Y - 학번을 입력하시오: 201155555
-점수를 입력하시오: 66
? 학생정보를 입력하려면 ‘Y’를 , 입력을 종료하려면 ‘N’을 치시오: Y - 학번을 입력하시오: 201133333
-점수를 입력하시오: 87
? 학생정보를 입력하려면 ‘Y’를 , 입력을 종료하려면 ‘N’을 치시오: N 입력을 종료합니다.
학생들의 성적 목록입니다.
학번: 201199999, 점수: 82, 학점: B 학번: 201188888, 점수: 45, 학점: F 학번: 201122222, 점수: 93, 학점: A 학번: 201155555, 점수: 66, 학점: D 학번: 201133333, 점수: 87, 학점: B 평균점수는 74.6 입니다.
평균 이상인 학생은 모두 3 명입니다.
A 학점은 모두 1 명입니다.
B 학점은 모두 2 명입니다.
C 학점은 모두 0 명입니다.
D 학점은 모두 1 명입니다.
F 학점은 모두 1 명입니다.
프로그램을 종료합니다.
학점 부여 작업은 학급 평균 처리 한 후에
? 학생정보를 입력하려면 ‘Y’를 , 입력을 종료하려면 ‘N’을 치시오: Y - 학번을 입력하시오: 201199999
-점수를 입력하시오: 82
? 학생정보를 입력하려면 ‘Y’를 , 입력을 종료하려면 ‘N’을 치시오: Y - 학번을 입력하시오: 201188888
-점수를 입력하시오: 45
? 학생정보를 입력하려면 ‘Y’를 , 입력을 종료하려면 ‘N’을 치시오: Y - 학번을 입력하시오: 201122222
-점수를 입력하시오: 93
? 학생정보를 입력하려면 ‘Y’를 , 입력을 종료하려면 ‘N’을 치시오: Y - 학번을 입력하시오: 201155555
-점수를 입력하시오: 66
? 학생정보를 입력하려면 ‘Y’를 , 입력을 종료하려면 ‘N’을 치시오: Y - 학번을 입력하시오: 201133333
-점수를 입력하시오: 87
? 학생정보를 입력하려면 ‘Y’를 , 입력을 종료하려면 ‘N’을 치시오: N 입력을 종료합니다.
학생들의 성적 목록입니다.
학번: 201199999, 점수: 82, 학점: B 학번: 201188888, 점수: 45, 학점: F 학번: 201122222, 점수: 93, 학점: A 학번: 201155555, 점수: 66, 학점: D 학번: 201133333, 점수: 87, 학점: B 평균점수는 74.6 입니다.
평균 이상인 학생은 모두 3 명입니다.
A 학점은 모두 1 명입니다.
B 학점은 모두 2 명입니다.
C 학점은 모두 0 명입니다.
D 학점은 모두 1 명입니다.
F 학점은 모두 1 명입니다.
프로그램을 종료합니다
(1) 학생 정보를 입력 받는다
(3) 평균과 평균 이상인 학생수를 계산하고, 결과를 출력한다 (2) 입력 받은 학생 정보를 출력한다
(4) 학점 별 학생수를 출력한다
©
J.-H. Kang, CNU main()에 추가할 내용은?
public static void main (String[] args) { boolean moreStudentsExist ;
Student currentStudent ;
Student[] c1 = new Student[MAXSTUDENTS] ; //학생 정보를 위한 배열 int numberOfStudents ; // 학급의 실제 학생수
double average ; // 학급의 평균 점수
int aboveAverage ; // 평균 이상인 학생의 수 /* (1) 학생 정보를 입력 받는다 */
...
/* (2) 입력 받은 학생 정보를 출력한다. */
...
/* (3) 평균과 평균 이상인 학생수를 계산하고, 결과를 출력한다. */
...
// (4) 학생들의 학점을 조사하여, 학점 별 학생수를 센다. 그 결과를 출력한다.
...
System.out.println(“프로그램을 종료합니다.”) ; }
실습
55
학점별 학생수 세기
public static void main (String[] args) { ...
// (4) 학생들의 학점을 조사하여, 학점 별 학생수를 센다. 그 결과를 출력한다.