< link rel="shortcut icon" href="https://xn--oy2bi4yvoj.net/favicon.ico"> [C#] 캡슐화 실습 - 학생 클래스 > 프로그래밍 - 프로그래밍 자료실 | 프리존 - 게임정보 커뮤니티 
  • 북마크

프로그래밍 - 프로그래밍 자료실




[C#[시샵]] [C#] 캡슐화 실습 - 학생 클래스

회원사진
kkeeejj
2020.07.04 23:04 328 0

본문


실습) 다음 내용을 만족하는 학생 클래스를 정의하시오.

목적: 멤버 속성의 이해

학생은 생성할 때 학생 번호와 학생 이름을 전달받습니다. 
이 외에 학생의 국어, 영어, 수학 성적을 -1로 설정합니다.
학생을 생성한 후에는 학생의 국어, 영어, 수학 성적을 입력할 수 있습니다. 
만약 학생 성적이 0에서 100을 벗어나면 -1로 설정합니다.
학생 이름과 번호, 각 과목의 성적과 총점 및 평균을 확인할 수 있습니다. 
그리고 학생 정보를 확인하는 기능을 제공합니다.

*2019년 공주대에서
예제 소스) StudentA.cs (자바 스타일)

using System;

 

 

namespace 캡슐화_실습2___학생

{

    //자바 혹은 CPP 스타일

    class StudentA

    {

        int num;

        public int GetNum()

        {

            return num;

        }

 

        string name;

        public string GetName()

        {

            return name;

        }

 

        int[] scores = new int[3];

        public void SetKorea(int score)

        {

            if (score > 100)

            {

                score = -1;

            }

            if (score < 0)

            {

                score = -1;

            }

            scores[0] = score;

        }

        public int GetKorea()

        {

            return scores[0];

        }

 

        public void SetMath(int score)

        {

            if (score > 100)

            {

                score = -1;

            }

            if (score < 0)

            {

                score = -1;

            }

            scores[1] = score;

        }

        public void SetEnglish(int score)

        {

            if (score > 100)

            {

                score = -1;

            }

            if (score < 0)

            {

                score = -1;

            }

            scores[2] = score;

        }

       

        public int GetMath()

        {

            return scores[1];

        }

        public int GetEnglish()

        {

            return scores[2];

        }

        public StudentA(int num, string name)

        {

            this.num = num;

            this.name = name;

            scores[0] = -1;

            scores[1] = -1;

            scores[2] = -1;

        }

 

       

       

       

        public int GetTotal()

        {

            int sum = 0;

            for(int i=0;i<3;i++)

            {

                if(scores[i]!=-1)

                {

                    sum += scores[i];

                }

            }

            return sum;

        }

        public int GetAverage()

        {

            return GetTotal() / 3;// cnt;

        }

        public override string ToString()

        {

            return string.Format("{0},{1}", num, name);

        }

    }

}

 

Student.cs

using System;

 

namespace 캡슐화_실습2___학생

{

    class Student

    {

        //int num;

        public int Num

        {

            get;

            private set;

        }

        //string name;

        public string Name

        {

            get;

            private set;

        }

        int[] scores = new int[3];

        public int Korea

        {

            get

            {

                return scores[0];

            }

            set

            {

                if(value>100)

                {

                    value = -1;

                }

                if(value<0)

                {

                    value = -1;

                }

                scores[0] = value;

            }

        }

        public int English

        {

            get

            {

                return scores[1];

            }

            set

            {

                if (value > 100)

                {

                    value = -1;

                }

                if (value < 0)

                {

                    value = -1;

                }

                scores[1] = value;

            }

        }

        public int Math

        {

댓글목록 0

등록된 댓글이 없습니다.