You are on page 1of 4

using System;

using System.Collections.Generic;
using System.Text;
namespace bank1
{
class Program
{
static void Main(string[] args)
{
Bank bank = new Bank();
int ch;
string a;
do
{
Console.WriteLine("Enter your choice:");
Console.WriteLine(" 1..Open \n 2..close \n 3..Deposite \n 4..wit
hdraw \n 5..Show");
a = Console.ReadLine();
ch = int.Parse(a);
switch (ch)
{
case 1:
{
Console.WriteLine("starting balance: ");
decimal bal = Convert.ToDecimal(Console.ReadLine());
Console.WriteLine("owner: ");
string owner = Console.ReadLine();
int id = bank.AddAccount(bal, owner);
Console.WriteLine("Account opened, id = {0}", id);
}
break;
case 2:
{
Console.WriteLine("Enter Account ID: ");
int id = Convert.ToInt32(Console.ReadLine());
bank.DeleteAccount(id);
Console.WriteLine("Account Closed, id = {0}", id);
}
break;
case 3:
{
Console.WriteLine("Enter Account ID: ");
int id = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Enter Amount:");
decimal amount = Convert.ToDecimal(Console.ReadLine(
));
Account acc = bank.FindAccount(id);
acc.Deposit(amount);
Console.WriteLine("balance = {0}", acc.Balance);
}
break;
case 4:
{
Console.WriteLine("Enter Account ID: ");
int id = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Enter Amount");
decimal amount = Convert.ToDecimal(Console.ReadLine(
));
Account acc = bank.FindAccount(id);
acc.Withdraw(amount);
Console.WriteLine("balance = {0}", acc.Balance);
}
break;
case 5:
{
ShowAccounts(bank.GetAccounts());
}
break;
}
} while (ch <= 5);
}//end main
private static void ShowAccounts(string[] sArray)
{
foreach (string str in sArray)
{
Console.WriteLine(str);
}
}

}
class Account
{
private decimal balance;
private string owner;
private int id;
public decimal Balance
{
get
{
return balance;
}
}
public string Owner
{
get
{
return owner;
}
set
{
owner = value;
}
}
public int Id
{
get
{
return id;
}
}
public Account(decimal balance, string owner, int id)
{
this.balance = balance;
this.owner = owner;
this.id = id;
}
public void Deposit(decimal amount)
{
balance += amount;
}
public void Withdraw(decimal amount)
{
balance -= amount;
}
}
class Bank
{
Account[] accnt = new Account[10];
private int count = 0;
private int nextid = 0;
public int AddAccount(decimal balance, string owner)
{
Account acc;
int id = ++nextid;
acc = new Account(balance, owner, id);
accnt[count++] = acc;
return id;
}
public string[] GetAccounts()
{
string[] sArray = new string[count];
for (int i = 0; i < count; i++)
{
string sOwner = accnt[i].Owner;
decimal sBal = accnt[i].Balance;
int sId = accnt[i].Id;
string str = sId + "\t" + sOwner + "\t" + sBal;
sArray[i] = str;
}
return sArray;
}
public Account FindAccount(int id)
{
for (int i = 0; i < count; i++)
{
if (accnt[i].Id == id)
return accnt[i];
}
return null;
}
public void DeleteAccount(int id)
{
int index = FindIndex(id);
if (index != -1)
{
// move accounts down
for (int i = index; i < count; i++)
{
accnt[i] = accnt[i + 1];
}
count--;
}
}
private int FindIndex(int id)
{
for (int i = 0; i < count; i++)
{
if (accnt[i].Id == id)
return i;
}
return -1;
}
}
}

You might also like