• 검색 결과가 없습니다.

학점 / 학점별 학생수

문서에서 객체의 표현 2 (페이지 50-57)

[프로그램 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) 학생들의 학점을 조사하여, 학점 별 학생수를 센다. 그 결과를 출력한다.

int numberOfGradeA =0 ; int numberOfGradeB = 0 ; int numberOfGradeC = 0 ; int numberOfGradeD= 0 ; int numberOfGradeF = 0 ; char currentGrade ;

for (int i = 0 ; i < numberOfStudents ; i++) { currentGrade = c1[i].grade() ;

if (currentGrade == ‘A’) { numberOfGradeA ++ ; } else if (currentGrade == ‘B’) {

numberOfGradeB ++ ; } else if

...

else {

numberOfGradeF ++ ; } }

... // 학점별 학생수를 출력한다.

System.out.println(“프로그램을 종료합니다.”) ;

}

©

J.-H. Kang, CNU

[프로그램 11-3]

함수를 사용하여

문서에서 객체의 표현 2 (페이지 50-57)

관련 문서