コード例 #1
0
 private int idtoidx(int id)
 {
     for (int i = 0; i < array.Size; i++)
     {
         account acc = (account)array[i];
         if (acc.Id.Equals(id) == true)
         {
             return(i);
         }
     }
     throw new Exception("잘못된 계좌");
 }
コード例 #2
0
        public static void filesersave(object[] arr, int size)
        {
            Stream          ws         = new FileStream("mlist.txt", FileMode.Create);
            BinaryFormatter serializer = new BinaryFormatter();

            int max = arr.Length;

            serializer.Serialize(ws, max);
            serializer.Serialize(ws, size);

            for (int i = 0; i < size; i++)
            {
                account mem = (account)arr[i];
                serializer.Serialize(ws, mem);
            }
            ws.Close();
        }
コード例 #3
0
        public static account[] fileserload(out int max)
        {
            Stream          rs           = new FileStream("mlist.txt", FileMode.Open);
            BinaryFormatter deserializer = new BinaryFormatter();

            max = (int)deserializer.Deserialize(rs);
            int size = (int)deserializer.Deserialize(rs);

            Console.WriteLine("불러온 최대저장개수 : {0}개", max);
            Console.WriteLine("불러온 개수 : {0}개", size);

            account[] memlist = new account[size];
            for (int i = 0; i < size; i++)
            {
                memlist[i] = (account)deserializer.Deserialize(rs);
            }
            rs.Close();

            return(memlist);
        }
コード例 #4
0
        public void fileload()
        {
            try
            {
                //member[] arr=wbfile.fileload();
                int       max;
                account[] arr = wbfile.fileserload(out max);
                array = new wbarray(max);

                for (int i = 0; i < arr.Length; i++)
                {
                    account mem = arr[i];
                    array.insert(mem);
                }
            }
            catch (FileNotFoundException)
            {
                //파일이 없으니깐 배열객체를 생성하겠다.
                int size = wblib.inputnumber("배열의 크기");
                array = new wbarray(size);
            }
        }
コード例 #5
0
        public void Withdraw()
        {
            try
            {
                int     id    = wblib.inputnumber("계좌 ID");
                int     money = wblib.inputnumber("출금액");
                account mem   = (account)array[idtoidx(id)];

                if (money < 0 || mem.Balance < money)
                {
                    Console.WriteLine("잘못된 금액");
                    return;
                }

                mem.MinMoney(money);
            }
            catch (Exception ex)
            {
                Console.WriteLine("출금 오류");
                Console.WriteLine(">> " + ex.Message);
            }
        }
コード例 #6
0
        public void deposit()
        {
            try
            {
                int id    = wblib.inputnumber("계좌 ID");
                int money = wblib.inputnumber("입금액");

                if (money < 0)
                {
                    Console.WriteLine("잘못된 금액");
                    return;
                }

                account mem = (account)array[idtoidx(id)];


                //new 키워드를 사용하면 기반 형식의 변수로 다양한 파생개체를 참조할때
                //실제개체에 정의된 멤버가 사용되지않는다.
                //그래서 virtual ,override로 바꿨습니다
                //if (mem is contriaccount)
                //{
                //    contriaccount conmem = (contriaccount)mem;
                //    conmem.addmoney(money);
                //}
                //else if (mem is faithaccount)
                //{
                //    faithaccount faitmem = (faithaccount)mem;
                //    faitmem.addmoney(money);
                //}
                //else

                mem.addmoney(money);
            }
            catch (Exception ex)
            {
                Console.WriteLine("입금 오류");
                Console.WriteLine(">> " + ex.Message);
            }
        }