C#/C# 연습

Class : Student manage

HicKee 2022. 12. 20. 22:33

main 을 포함 클래스 2개
클래스의 속성은 이름 나이 성별 주소를 선언하고 다른 클래승[서 접근을 제한
매개변수를 사용하는 생성자 추가
속성의 getter/setter 멤버 메서드 추가
모든 속성을 출력하는 멤버 메서드 추가
string [] name;
int [] age;
char [] gender;
string[] addr;

main()에서 10명의 학생의 정보를 저장할수 있는 Student객체 생성
이름 나이 성별 주소 랜덤
10번째 학생의 정보를 변경

 

Main

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Class_STDMG {
    internal class Program {
        static void Main(string[] args) {
            Random rd= new Random();

            string[] name = { "Hong", "Kim", "Pack", "Lee", "Choi" };
            int[] age = { 20, 25, 30, 34, 40 };
            char[] gender = { 'M', 'F' };
            string[] addr = { "대구", "서울", "부산", "인천", "광주" };

            Student[] st = new Student[10];

            for (int i = 0; i < st.Length; i++) {
                st[i] = new Student();
                st[i].nameSet(name[rd.Next(name.Length)]);
                st[i].ageSet(age[rd.Next(age.Length)]);
                st[i].genderSet(gender[rd.Next(gender.Length)]);
                st[i].addrSet(addr[rd.Next(addr.Length)]);
            }

            Console.WriteLine("바뀌기 전");
            for (int j = 0; j < st.Length; j++) {
                st[j].showStudent();
            }

            //이미 만들어진 객체의 정보를 바꿈 (총 10개의 객체를 생성) -> 싱글톤(디자인패턴)
            st[st.Length - 1].nameSet("전우치");
            st[st.Length - 1].ageSet(24);
            st[st.Length - 1].genderSet('M');
            st[st.Length - 1].addrSet("한양");

            //마지막 객체를 새로 생성 (총 11개의 객체를 생성)
            //st[st.Length - 1] = new Student("전우치",24,'M',"한양");

            Console.WriteLine("바뀐 후");
            foreach (var i in st) {
                i.showStudent();
            }

        }
    }
}

Student

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Class_STDMG {
    internal class Student {
        //이름 나이 성별 주소 
        private string name;
        private int age;
        private char gender; //F, M
        private string addr;

        public Student() {}

        public Student(string name,int age,char gender,string addr) {
            this.name = name;
            this.age = age;
            this.gender = gender;
            this.addr = addr;
        }

        public void showStudent() {
            Console.WriteLine("--------------------");
            Console.WriteLine($"이름 : {name}");
            Console.WriteLine($"나이 : {age}");
            Console.WriteLine($"성별 : {gender}");
            Console.WriteLine($"주소 : {addr}");
        }
        #region Setter

        public void nameSet(string name) {

            this.name = name;
        }
        public void ageSet(int age) {

            this.age = age;
        }
        public void genderSet(char gender) {

            this.gender = gender;
        }
        public void addrSet(string addr) {

            this.addr = addr;
        }

        #endregion

        #region Getter

        public string getName() {

            return this.name;
        }
        public char getGender() {

            return this.gender;
        }
        public int getAge() {

            return this.age;
        }
        public string getAddr() {

            return this.addr;
        }




        #endregion




    }
}

'C# > C# 연습' 카테고리의 다른 글

WinForm : 퀴즈 게임  (0) 2022.12.24
WinForm : 단순 계산기  (0) 2022.12.21
Class : Student Score  (0) 2022.12.18
Class : Car Manager  (0) 2022.12.18
Class : Car  (0) 2022.12.17