©
J.-H. Kang, CNU[프로그램 11-3]
함수를 사용하여
제 3 단계 [프로그램 11-3]
문제의 내용은 [프로그램 11-2]와 동일
main()에서의 단계별 할 일을 함수로 표현하자
©
J.-H. Kang, CNU 학점 부여 작업은 학급 평균 처리 한 후에
실습
59
? 학생정보를 입력하려면 ‘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) 학점 별 학생수를 출력한다
학점 부여 작업은 학급 평균 처리 한 후에
? 학생정보를 입력하려면 ‘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 명입니다.
프로그램을 종료합니다
inputAndStoreStudentInfo() ;
calcAverage() ; showAvergaeInfo() ;
showStudentInfo() ;
countStudentsByGrade() ; showGradeInfo() ;
©
J.-H. Kang, CNU 달라진 main()의 모습은?
private static Student[] c1 ;
private static int numberOfStudents ; // 학급의 실제 학생수 private static double average ; // 학급의 평균 점수
private static int aboveAverage ; // 평균 이상인 학생의 수 private static int numberOfGradeA ;
private static int numberOfGradeB ; private static int numberOfGradeC ; private static int numberOfGradeD ; private static int numberOfGradeF ;
public static void main (String[] args){ c1 = new Student[MAXSTUDENTS] ; //학생 정보를 위한 배열
inputAndStoreStudentInfo() ; // (1) 학생 정보를 입력 받는다 showStudentInfo() ; // (2) 입력 받은 학생 정보를 출력한다.
calcAverage() ; // (3-1) 평균과 평균 이상인 학생수를 계산하고 showAverageInfo() ; // (3-2) 결과를 출력한다.
countStudentsByGrade() ; // (4-1) 학생들의 학점을 조사하여, 학점 별 학생수를 센다.
showGradeInfo() ; //(4-2) 그 결과를 출력한다.
System.out.println(“프로그램을 종료합니다.”) ; }
실습