Category Archives: Homework

Assignment4

연습문제 Ex4 (Due by 10/15 목 24시까지)
-cyber 강의실 (cyber.dku.edu)로 source code, executable file, solution/project VC# file, 보고서를 학번_이름_Ex4.zip으로 묶어서 낼 것. 보고서 (30%)1252035235.hwp


[연습문제]
1. PersonManager 클래스는 리스트를 데이터 멤버로 포함한다. (30%)
http://msdn.microsoft.com/en-us/library/system.collections.aspx
– private List<Person> pList;
그리고 메소드는 다음을 포함한다.
– public void Add(Person p)  // 리스트에 Person을 추가
– public void Remove(Person p) // 리스트에 Person을 제거
– public void Clear()   // 리스트에 모든 Person 제거
– public int IndexOf(Person p) // 리스트에 Person의 index 반환
– public int GetCount()   // 리스트에 Person의 개수 반환
– public void Sort()   // 리스트에 Person의 이름 순서로 정렬
– public Person this[int index]  // 리스트의 indexer


// 리스트에 모든 Person, Student, Faculty를 출력
// pList.ForEach에 각각의 Print를 출력하는 Action delegate 사용
– public void Print()


// 리스트에서 Person인 경우만 새로운 리스트로 만들어서 List<Person> 반환
// pList.FindAll에 Person인지 아닌지를 알려주는 Predicate delegate 사용
– public List<Person> GetPersonList()


// 리스트에서 Student인 경우만 새로운 리스트로 만들어서 List<Student> 반환
// pList.FindAll에 Student인지 아닌지를 알려주는 Predicate delegate 사용
// pList.ConvertAll에 Person을 Student로 바꿔주는 Converter delegate 사용
– public List<Student> GetStudentList()


// 리스트에서 Faculty인 경우만 새로운 리스트로 만들어서 List<Faculty> 반환
// pList.FindAll에 Faculty인지 아닌지를 알려주는 Predicate delegate 사용
// pList.ConvertAll에 Person을 Faculty로 바꿔주는 Converter delegate 사용
– public List<Faculty> GetFacultyList()
2. PersonManager 클래스에 다음 File I/O 메소드를 포함한다. (10%)
// cvs(comma separated value) 텍스트를 읽어서 pList에 추가
// StreamReader 사용
– public void LoadFile(string path)


// pList의 모든 원소를 cvs(comma separated value) 텍스트로 저장
// StreamWriter 사용
– public void WriteFile(string path)


// Test.csv 파일
Park Kyoung Shin, 1207, 041-550-3469, 3과417
조흥목, 5205, 010, 2과317, 70, 80, 90
김승훈, 1202, 041-550-3481, 3과420, 멀티미디어공학
박태근, 1204, 041-550-3486, 3과419
박정서, 5204, 041-550-3490, 2과320, 80, 80, 80


3. Person 클래스는 IComparable, IEquatable 인터페이스를 상속받고 다음 메소드를 추가한다. (10%)
– public override string ToString()  // System.Object.ToString method override
– public int CompareTo(Person other)  // Person 이름 순서대로 비교
– public bool Equals(Person other)  // ==


Student 클래스는 IComparable, IEquatable 인터페이스를 상속받고 다음 메소드를 추가한다.
– public override string ToString()  // System.Object.ToString method override
– public int CompareTo(Student other)  // Student 성적 순서대로 비교
– public bool Equals(Student other)  // ==


Faculty 클래스는 IEquatable 인터페이스를 상속받고 다음 메소드를 추가한다.
– public override string ToString()  // System.Object.ToString method override
– public bool Equals(Student other)  // ==


4. PersonListFileIO 클래스의 Main 함수에서는 PersonManager 객체를 생성하고 메소드를 모두 테스트한다. (10%)
– LoadFile를 사용하여 리스트에 데이터를 로딩
– Sort를 사용하여 리스트의 데이터를 정렬 (사람의 이름 순서대로)하고 Print로 출력
– Add와 Remove 등을 사용하여 5명 이상 Person, Student, Faculty 추가 또는 제거하고 Print로 출력
– GetPersonList, GetStudentList, GetFacultyList로 각 Perosn, Student, Faculty 리스트별로 모든 내용을 출력
– WriteFile를 사용하여 리스트에 있는 모든 데이터를 저장


5. Person, Student, Faculty, PersonManager 클래스 또는 Main 함수에서 본인이 더 테스트해보고 싶은 Method를 추가하라. (10%)

Assignment3

연습문제 Ex3 (Due by 10/8 목 24시까지)
-cyber 강의실 (cyber.dku.edu)로 source code, executable file, solution/project VC# file, 보고서를 학번_이름_Ex3.zip으로 묶어서 낼 것. 보고서 (30%)


1162012515.hwp
[연습문제]
1. Person 클래스를 정의하라 (그리고, Person.cs 파일로 저장한다). (10%)
Person 클래스는 이름, 아이디, 전화번호, 주소를 데이터 멤버로 포함한다.
– protected string name;
– protected int id;
– protected string phone;
– protected string address;
각 멤버 필드에 대한 속성(Property)를 지정하여 외부에서 사용할 수 있도록 한다.
– public string Name { get; set;} // get과 set에 대한 내부정의 필요
– public int ID { get; set;}
– public string Phone { get; set;}
– public string Address { get; set;}
그리고 메소드는 다음을 포함한다.
– Person()    // 기본 생성자
– Person(string, int, string, string)  // 형변환 생성자
– Person(Person)  // 복사 생성자
– void Print() // Person의 이름, 아이디, 전화번호, 주소를 출력


2. Person 클래스에서 상속받은  Student 클래스를 정의하라 (그리고, Student.cs 파일로 저장한다). Student 클래스에서는 국어, 영어, 수학 점수와 학점이라는 멤버 필드를 추가로 가지고 있다. (10%)
– private int kor;
– private int eng;
– private int math;
– private Grade grade;
각 멤버 필드에 대한 속성(Property)를 지정하여 외부에서 사용할 수 있도록 한다.
– public int Kor { get; set;} // get과 set에 대한 내부정의 필요 (value가 0~100인경우만 set이 가능하도록 함)
– public int Eng { get; set;}
– public int Math { get; set;}
그리고 멤버 함수는 다음과 같은 기능을 한다.
– public Student();   // 기본 생성자
– public Student(string int, string, string, int, int, int); // 형변환 생성자
– public Student(Student);  // 복사 생성자
– public override void Print();  // Student의 이름, 아이디, 전화번호, 주소, 학점
– public int GetTotal();      // Student의 국어,영어,수학점수의 합을 돌려줌
– public int GetAverage();     // Student의 국어,영어,수학점수의 평균을 돌려줌
– public Grade GetGrade();    // Student의 평균을 이용하여 학점을 돌려줌 (Ex1과 동일)


3. Person 클래스에서 상속받은  Faculty 클래스를 정의하라 (그리고, Faculty.cs 파일로 저장한다). Faculty 클래스에서는 국어, 영어, 수학 점수와 학점이라는 멤버 필드를 추가로 가지고 있다. (10%)
– private string department;
각 멤버 필드에 대한 속성(Property)를 지정하여 사용할 수 있도록 한다.
– public string Department { get; set;} // get과 set에 대한 내부정의 필요 
그리고 멤버 함수는 다음과 같은 기능을 한다.
– public Faculty();   // 기본 생성자
– public Faculty(string int, string, string, string); // 형변환 생성자
– public Faculty(Faculty);  // 복사 생성자
– public override void Print();  // Faculty의 이름, 아이디, 전화번호, 주소, 소속
– public string GetDepartment();   // Faculty의 소속을 돌려줌


4. PersonList 클래스의 Main 함수에서는 Person, Student, Faculty 객체를 각각 5개 이상을 ArrayList pArray에 Add하고 난 후 Insert, Remove, RemoveAt을 사용하여 자료를 추가하거나 뺀 후, pArray에 있는 모든 정보에 대해서 Print 출력한다. (20%) http://msdn.microsoft.com/en-us/library/system.collections.arraylist(VS.71).aspx
– for 문을 사용하여 5명 이상 Person 를 입력받음
– for 문을 사용하여 5명 이상 Student 를 입력받음
– for 문을 사용하여 5명 이상 Faculty 를 입력받음
– foreach 문을 사용하여 입력받은 모든 pArray에 있는 Person, Student, Faculty를 Print 메소드를 사용하여 출력
– 각각 한 두 명의 Person, Student, Faculty 를 리스트에서 추가하거나 지우고 난 후, 리스트에 있는 모든 내용을 출력
– 리스트에서 각각 Person, Student, Faculty 만을 새로운 ArrayList들에 저장하고 난 후, 각 리스트별로 모든 내용을 출력 (그 중, Student는 전체 학생에 대한 국어,영어,수학에 대한 총점 및 평균을 계산하여 출력)


5. Person, Student, Faculty 클래스 또는 Main 함수에서 본인이 더 테스트해보고 싶은 Method를 추가하라. (20%)

Assignment2

연습문제 Ex2 (Due by 9/24 목 24시까지)1307735758.hwp
-cyber 강의실 (cyber.dku.edu)로 source code, executable file, solution/project VC# file, 보고서를 학번_이름_Ex2.zip으로 묶어서 낼 것. 보고서 (30%)


[연습문제]
1. Ex1 (학생 학점을 출력하는 프로그램인 StudentGrade 클래스 숙제)에 Student 구조체를 사용하여 다시 작성하라 (그리고, Student.cs 파일로 저장한다). Student 구조체에는 학생 이름(name), 국어(kor), 영어(eng), 수학(math), 학점(grade)이 데이터 멤버로 포함되어야 한다. (30%)
– Student(string n, int k, int e, int m) 생성자
– int GetTotal() 함수는 국어, 영어, 수학의 총점 값을 반환 (Ex1과 동일)
– int GetAverage() 함수는 국어, 영어, 수학의 평균 값을 반환 (Ex1과 동일)
– Grade GetGrade() 함수는 학생 성적평균이 90이상이면 A, 80-90이면 B, 70-80이면 C, 60-70이면 D, 60이하 F인 enum type인 Grade 값을 반환 (Ex1과 동일)
– PrintGrade() 함수는 학생의 이름과 국어, 영어, 수학 성적 및 총점, 평균, 학점을 화면에 출력


2. Main 함수에서는 10개의 Student 구조체를 Array로 생성하고 키보드 입력으로 학생 이름, 국어, 영어, 수학 점수를 받아서, 각 학생별로 총점, 평균, 학점을 출력하고, 전체 학생에 대한 평균 총점, 평균을 출력하는 routine을 추가한다. (20%)
– for 문을 사용하여 10명 학생의 이름, 국어, 영어, 수학 점수를 입력받음
– foreach 문을 사용하여 10명 학생에 대한 개별적인 성적 출력과 전체 학생의 평균 총점및 평균을 계산 후 출력


3. Main 함수에서 본인이 더 테스트해보고 싶은 Method나 routine을 추가하라. (20%)

Assignment1

Assignment1 (Due by 9/17 목 24시까지)

1183755079.hwp
참고: VC# .NET2008을 사용하여 Console Application으로 작성한다.
http://dis.dankook.ac.kr/lectures/hci09/6

연습문제 Ex1 (Due by 9/17 목 24시까지)
-cyber 강의실 (cyber.dku.edu)로 source code, executable file, solution/project VC# file, 보고서를 학번_이름_Ex1.zip으로 묶어서 낼 것. 보고서 (30%)


[연습문제]
1. 학생 학점을 출력하는 프로그램인 StudentGrade 클래스를 작성하라. 학생 이름(name), 국어(kor), 영어(eng), 수학(math), 학점(grade)이 데이터 멤버로 포함되어야 한다.  (30%)
     – enum Grade { A, B, C, D, F };를 사용
     – int GetTotal() 함수는 국어, 영어, 수학의 총점 값을 반환
     – int GetAverage() 함수는 국어, 영어, 수학의 평균 값을 반환
     – Grade GetGrade() 함수는 학생 성적평균이 90이상이면 A, 80-90이면 B, 70-80이면 C,
       60-70이면 D, 60이하 F인 enum type인 Grade 값을 반환
     – PrintGrade() 함수는 학생의 성적 총점, 평균, 학점을 화면에 출력


2. Main 함수에서는 StudentGrade s 객체를 생성하고 키보드 입력으로 학생 이름, 국어, 영어, 수학 점수을 받아서, 총점, 평균, 학점을 출력하는 routine을 추가한다. (20%)
     – 국어, 영어, 수학 점수는 0-100 사이의 integer 값만을 입력받도록 해야 함
     – 힌트: while 문을 사용하여 국어, 영어, 수학 점수가 0-100사이의 integer가 아닌 경우
       다시 입력을 받음
     – 힌트: Console.ReadLine() 함수는 string을 반환하므로, int로 변환하기 위하여 Parse
       함수 사용 => intValue = int.Parse(string)
     – 힌트: TryParse 함수는 string을 integer로 변환이 가능하면, out 매개변수로 변환된
       값을 전달해 주고, true boolean 값을 반환 
       => boolValue = int.TryParse(string, out intValue)


3. Main 함수에서 본인이 더 테스트해보고 싶은 StudentGrade 클래스의 Method나 routine을 추가하라. (20%)