Пример #1
0
        public void insertAddress()
        {
            Console.WriteLine("---주소 입력---");
            Console.WriteLine("1.일반   2.대학   3.회사");
            Console.Write("번호 선택 >> ");
            int     sel = Int32.Parse(Console.ReadLine());
            string  name, phone, addr;
            string  major, year;
            string  company, job;
            Address address;

            Console.Write("이름 입력 >> ");
            name = Console.ReadLine();
            Console.Write("전화 입력 >> ");
            phone = Console.ReadLine();
            Console.Write("주소 입력 >> ");
            addr = Console.ReadLine();
            if (sel == 1)
            {
                address       = new Address();
                address.Name  = name;
                address.Phone = phone;
                address.Addr  = addr;

                arrList.Add(address);
            }
            else if (sel == 2)
            {
                Console.Write("전공 입력 >> ");
                major = Console.ReadLine();
                Console.Write("학년 입력 >> ");
                year = Console.ReadLine();

                address = new UnivAddress();
                ((UnivAddress)address).Name  = name;
                ((UnivAddress)address).Phone = phone;
                ((UnivAddress)address).Addr  = addr;
                ((UnivAddress)address).Major = major;
                ((UnivAddress)address).Year  = year;

                arrList.Add(address);
            }
            else if (sel == 3)
            {
                Console.Write("회사 입력 >> ");
                company = Console.ReadLine();
                Console.Write("업무 입력 >> ");
                job = Console.ReadLine();

                address = new CompanyAddress();
                ((CompanyAddress)address).Name    = name;
                ((CompanyAddress)address).Phone   = phone;
                ((CompanyAddress)address).Addr    = addr;
                ((CompanyAddress)address).Company = company;
                ((CompanyAddress)address).Job     = job;

                arrList.Add(address);
            }
        }
Пример #2
0
        public void loadFileAddress(ArrayList arrList)
        {
            StreamReader sr = null;

            try
            {
                sr = new StreamReader("address.txt");
                Address address = null;
                int     step = 0, kind = 0;
                while (sr.Peek() >= 0) // 읽을 내용이 있다
                {
                    string str = sr.ReadLine();
                    if (step == 0)
                    {
                        if (str == "general")
                        {
                            kind    = GENERAL;
                            address = new Address();
                        }
                        else if (str == "universal")
                        {
                            kind    = UNIVERSAL;
                            address = new UnivAddress();
                        }
                        else if (str == "company")
                        {
                            kind    = COMPANY;
                            address = new CompanyAddress();
                        }

                        step++;
                    }
                    else if (step == 1)
                    {
                        address.Name = str;
                        step++;
                    }
                    else if (step == 2)
                    {
                        address.Phone = str;
                        step++;
                    }
                    else if (step == 3)
                    {
                        address.Addr = str;
                        step++;
                    }
                    else if (step == 4)
                    {
                        if (kind == GENERAL)
                        {
                            arrList.Add(address);
                            step = 0;
                        }
                        else if (kind == UNIVERSAL)
                        {
                            ((UnivAddress)address).Major = str;
                            step++;
                        }
                        else if (kind == COMPANY)
                        {
                            ((CompanyAddress)address).Company = str;
                            step++;
                        }
                    }
                    else if (step == 5)
                    {
                        if (kind == UNIVERSAL)
                        {
                            ((UnivAddress)address).Year = str;
                        }
                        else if (kind == COMPANY)
                        {
                            ((CompanyAddress)address).Job = str;
                        }

                        step++;
                    }
                    else if (step == 6)
                    {
                        arrList.Add(address);
                        step = 0;
                    }
                }
            }
            catch (Exception e)  // 예외 에러를 잡는다
            {
                Console.WriteLine(e.Message);
                Console.WriteLine(e.StackTrace);
            }
            finally // 정상/예외든 무조건 마무리한다
            {
                if (sr != null)
                {
                    sr.Close();
                }
            }
        }