[C#] 전화번호부 2탄 (List,IEnumberable 적용,클래스 상속)
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 |
댓글
이 글 공유하기
다른 글
-
[C#] Thread 실습
[C#] Thread 실습
2011.11.17 -
[C#] Thread 생성
[C#] Thread 생성
2011.11.16 -
[C#] 전화번호 저장
[C#] 전화번호 저장
2011.11.14 -
[C#] Sort(Collection)
[C#] Sort(Collection)
2011.11.10