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




namespace MorningTest
{
   
    public class Number
    {
        
       string name;
       string num;
        
        public Number(string na, string nu)
        {
            name = na;
            num =nu;
        }
        public string Name   
        {   
            get { return name; }   
            set { name = value; }   
        }   
        public string Num   
        {   
            get { return num; }   
            set { num = value; }   
        }

        public virtual void Print()
        {
            Console.WriteLine("오리지널");
        }

    }
    
   public class Friends : Number
   {
       public Friends(string na, string nu):base(na,nu)
       {
           this.Name = na;
           this.Num = nu;
       
       }
       public override void Print()
       {
           Console.WriteLine("학생모임");

       }
   }
   public class Club : Number
   {
        public Club(string na, string nu):base(na,nu)
        {
            this.Name = na;
            this.Num = nu;
        }
        public override void Print()
        {
            Console.WriteLine("클럽모임");
        }

    }
    
    
    
    
    class Program : IEnumerable
    {
        public static List<Number> MyList = new List<Number>();

       

        static String SelectMenu()
        {

            String s;
            Console.WriteLine("1.사람등록");
            Console.WriteLine("2.전체출력");
            Console.WriteLine("3.검색");
            Console.WriteLine("4.삭제");
            Console.WriteLine("5.종료");
            s = Console.ReadLine();

            return s;
        }
        static void Insert()
        {
            String k, ss;
            Console.WriteLine("이름을 등록하세요");
            k = Console.ReadLine();
            Console.WriteLine("전화번호를 등록하세요");
            ss = Console.ReadLine();

            Console.WriteLine("1. 학생모임");
            Console.WriteLine("2. 클럽모임");
            Console.WriteLine("모임을 고르시오");
            s = Console.ReadLine();
            Number person=new Number("0","0");
            switch (s)
            {
                case "1":
                    person = new Friends(k, ss);
                    break;
                case "2":
                    person = new Club(k, ss);
                    break;
            }
                       
            MyList.Add(person);
        }
        
        static void View()
        {
            foreach (Number per in MyList)
            {
                Console.WriteLine("이름 : {0},전화번호 : {1}", per.Name, per.Num);
                per.Print();
            }
            /*
            for (int i = 0; i < MyList.Count; ++i)
            {
                Console.WriteLine("이름 : {0},전화번호 : {1}", MyList[i].Name, MyList[i].Num);
                MyList[i].Print();
            }*/
        }
        static void Search()
        {
            String ks;
            Console.WriteLine("검색할 이름을 입력하세요:");
            ks = Console.ReadLine();
            for (int i = 0; i < MyList.Count; ++i)
            {
                if (ks == MyList[i].Name)
                {
                    Console.WriteLine("이름 : {0},전화번호 : {1}", MyList[i].Name, MyList[i].Num);
                         
               

                }
            }
        }
        static void Delete()
        {
            String ks;
            Console.WriteLine("검색할 이름을 입력하세요:");
            ks = Console.ReadLine();

            for (int i = 0; i < MyList.Count; ++i)
            {
                if (ks == MyList[i].Name)
                {
                    MyList.RemoveAt(i);
                }
            }
            
        }
                  
        static void Main(string[] args)
        {
            

            String key;
            while ((key = SelectMenu() )!= "0")
            {

                switch (key)
                {
                   case "1":
                       Insert();
                       break;
                   case "2":
                       View();
                       break;
                    case "3":
                       Search();
                       break;
                    case "4":
                       Delete();
                        break;
                    case "5":
                        break;

                }
            }
            
        }



        public static string s { get; set; }
        public IEnumerator GetEnumerator()
        {
            return MyList.GetEnumerator();
        }
    }
}

'프로그래밍 > Language C#' 카테고리의 다른 글

[C#] Thread 실습  (0) 2011.11.17
[C#] Thread 생성  (0) 2011.11.16
[C#] 전화번호 저장  (0) 2011.11.14
[C#] Sort(Collection)  (0) 2011.11.10
[C#] Collection  (0) 2011.11.10