본문 바로가기
카테고리 없음

객체지향 콘솔 성적관리 프로그램

by sftt 2024. 1. 19.

객체지향 콘솔 성적관리 프로그램

개요

이 포스팅에서는 객체지향 프로그래밍을 활용한 콘솔 기반 성적관리 프로그램에 대해 소개합니다. 이 프로그램은 학생들의 수강과목과 해당 과목의 성적을 관리하는 기능을 제공합니다.

프로그램 구조

이 프로그램은 크게 학생(Student) 클래스, 과목(Subject) 클래스, 그리고 성적 관리(ScoreManager) 클래스로 구성되어 있습니다. 각 클래스는 자신의 역할에 따라 다음과 같은 기능을 수행합니다.

학생(Student) 클래스

  • 학생의 정보를 저장하고 관리합니다.
  • 학생의 이름, 학번 등과 같은 속성을 가집니다.
  • 해당 학생의 수강한 과목과 성적 정보를 저장하는 리스트를 관리합니다.

과목(Subject) 클래스

  • 과목의 정보를 저장하고 관리합니다.
  • 과목의 이름, 학점, 시수 등과 같은 속성을 가집니다.

성적 관리(ScoreManager) 클래스

  • 학생과 과목 정보를 관리하고 성적을 계산합니다.
  • 학생과 과목 객체를 생성하여 관리합니다.
  • 학생이 수강한 과목의 성적을 입력하고, 강의 평균 성적 및 총 평균 성적을 계산합니다.
  • 학생 정보와 성적 정보를 출력하고 관리합니다.

사용 예시

다음은 이 프로그램의 사용 예시입니다.

# 객체 생성
student1 = Student("홍길동", "20210001")
student2 = Student("김철수", "20210002")
subject1 = Subject("수학", 3, 4)
subject2 = Subject("영어", 2, 3)

# 과목 등록
student1.add_subject(subject1)
student1.add_subject(subject2)
student2.add_subject(subject1)

# 성적 입력
student1.set_score(subject1, 85)
student1.set_score(subject2, 90)
student2.set_score(subject1, 70)

# 성적 출력
student1.print_scores()
student2.print_scores()

# 강의 평균 성적 및 총 평균 성적 계산
subject1.get_average_score()
subject2.get_average_score()
Student.get_total_average_score()

결론

객체지향 콘솔 성적관리 프로그램은 학생들의 성적 정보를 효율적으로 관리할 수 있도록 도와주는 프로그램입니다. 객체지향 프로그래밍의 원칙을 따라 개발되었으며, 각 클래스가 독립적인 역할을 수행하여 모듈화된 구조를 가지고 있습니다. 이를 통해 프로그램의 가독성과 유지보수성이 향상되며, 학생들의 성적 관리를 효과적으로 수행할 수 있습니다.

댓글