C#银行管理系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验六数组编程练习
姓名:刘帆学号: 082550 日期: 2010/12/2 实验名称: 继承与多态成绩:
一、实验目的与要求
实验目的
1。
了解数组的概念,掌握数组的声明、初始化方式;
2. 熟练掌握foreach语句的用法,理解params关键字的使用;
4。
掌握数组转换方法的使用;
5。
理解索引器的概念,掌握在整数索引和在字符串上索引的应用。
实验要求
1。
调试程序,要给出测试数据和实验结果。
2。
整理上机步骤,总结经验和体会.
3。
完成实验日志和上交程序。
二、实验环境Windows 7
三、实验源程序及关键代码解释
namespace实验六
{
class Account//帐户类
{
int AccountNumber;//帐户帐号
double Balance;//本金
double CurrentInterestRate;//当前利率;
double totalInterestPaid;//总支付利息
//属性
public int AAcountNumber
{
get { return AccountNumber;}
set { AccountNumber = value;}
}
public double ABalance
{
get{return Balance; }
set { Balance = value; }
}
public double ACurrentInterestRate
{
get{return CurrentInterestRate; }
set{ CurrentInterestRate = value; }
}
public double AtotalInterestPaid
{
get { return totalInterestPaid; }
set{ totalInterestPaid = value; }
}
//构造函数
public Account(int AN,double Ba)
{
AccountNumber = AN;
Balance = Ba;
}
}
class Bank//银行类
{
double totalPaid;//银行付的总利息
Account[] accounts = new Account[100];
//构造函数
public Bank(){ }
///<summary〉
///修改
///</summary>
///<param name=”no"〉</param〉
///<param name="AN”〉</param〉
///<param name="Ba”></param>
public Bank(int no, int[] AN,double[] Ba)
{
for (int i = 0; i < no; i++)
{
Account tmp = new Account(AN[i], Ba[i]); accounts[AN[i]] = tmp;
}
}
///〈summary>
///修改
///</summary〉
///<param name=”no"></param>
///<param name=”AN”〉〈/param〉
///〈param name="Ba”></param>
//设置帐户的利率
public void SetInterestRate(int num, int cir)
{
if(cir == 0) accounts[num].ACurrentInterestRate =
0.0288;//活期存款,利率为2。
88%
else if (cir == 1) accounts[num].ACurrentInterestRate = 0.0324;//死期存款,利率为3.24%
else Console.WriteLine(”Error”);
}
//利息计算方法
public double InterestPaid(int num)
{
accounts[num]。
AtotalInterestPaid = accounts[num]。
ABalance * accounts[num].ACurrentInterestRate;
return accounts[num]。
AtotalInterestPaid;
}
//帐户存款
public void Saving(int num, double money)
{
accounts[num]。
ABalance += money;
}
//帐户提款
public void Withdarw(int num, double money)
{
accounts[num].ABalance —= money;
}
//帐户结算
public double totalMoney(int num)
{
accounts[num]。
ABalance += accounts[num]。
AtotalInterestPaid;
return accounts[num].ABalance;
}
//统计银行支付的总利息
public double BtotalPaid(int no)
{
for(int i = 0; i 〈 no; i++)
totalPaid += InterestPaid(i);
return totalPaid;
}
}
class Program
{
static void Main(string[] args)
{
int no;//银行管理的账户数
int[] AN = new int[100];//账户的账号
int[] cir = new int[100];//账户的存款方式
double[] Ba = new double[100];
Console.WriteLine(”—----—-—-—欢迎进入银行模拟界面
--—---—--—");
Console。
WriteLine("请输入银行管理的帐户个数");
no = Int16。
Parse(Console.ReadLine());
Console.WriteLine("请分别输入每个帐户的帐号”);
for(int i = 0; i < no; i++)
AN[i] = Int16.Parse(Console。
ReadLine());
Console。
WriteLine("请分别输入每个帐户的现有存款");
for(int i = 0; i < no; i++)
Ba[i] = Double.Parse(Console.ReadLine());
Bank bank = new Bank(no, AN, Ba);//bank对象
Console.WriteLine(”请分别选择每个帐户的存款方式:活期存款请输入<0>,定期存款请输入<1>”);
for (int i = 0; i 〈 no; i++)
{
cir[i] = Int32。
Parse(Console.ReadLine());
/////////////////////////////////////////
//////////////////////////////////
//bank.SetInterestRate(i, cir[i]);
bank.SetInterestRate(AN[i], cir[i]);
///////////////////////////////////
////////////////////////////////////
}
bool moreAccount = true;//用于记录是否有多个账户操作
bool morechoose = true;//用于记录该帐户是否执行多个操作
int choose;//用于记录账户选择的操作
while (moreAccount)//是否有多个账户操作
{
Console。
WriteLine(”请输入要执行操作的帐户的帐号");
int num = Int16。
Parse(Console.ReadLine());
while (morechoose)//是否对一个账户操作多次
{
Console.WriteLine(”请选择要执行的操作:<0〉从该帐
户存款,<1>从该账户提款,<2>设置该帐户的利率,<3>显示该帐户的利息,〈4>显示该帐户的结算总额,<5>统计银行总支付的利息");
choose = Int16。
Parse(Console.ReadLine());
switch (choose)
{
case 0:
Console.WriteLine(”请输入要存入的钱数”);
double InMoney =
double.Parse(Console.ReadLine());
bank。
Saving(num, InMoney);
Console.WriteLine("您的现有存款为:");
Console.WriteLine(Convert.ToString(bank。
totalMoney(num)));
Console。
WriteLine("请问还要进行其它操作吗?<Y>是,<N〉否");
///////////////////////////
string s = Console.ReadLine();
if(s == "y”|| s == ”Y")
{
morechoose = true;
}
else morechoose = false;
////////////////////////
break;
case 1:
Console。
WriteLine(”请输入要取走的钱数”);
double OutMoney =
double.Parse(Console.ReadLine());
bank。
Withdarw(num, OutMoney);
Console.WriteLine(”您的现有存款为:”);
Console。
WriteLine(Convert.ToString(bank。
totalMoney(num)));
Console.WriteLine("请问还要进行其它操作吗?<Y〉是,〈N〉否”);
/////////////////////////////
string s2 = Console.ReadLine();
if(s2 == ”y” || s2 == ”Y")
{
morechoose = true;
}
else morechoose = false;
//////////////////////
break;
case 2:
Console.WriteLine("请输入要修改成的存款方式:〈0>活期存款,〈1>定期存款");
cir[num] = Int16。
Parse(Console。
ReadLine());
bank.SetInterestRate(num, cir[num]);
Console.WriteLine("请问还要进行其它操作吗?〈Y>是,<N>否”);
//////////////////////
////////////////
string s3 = Console.ReadLine();
if(s3 == ”y” || s3 == ”Y”)
{
morechoose = true;
}
else morechoose = false;
////////////////
////////////////////
break;
case 3:
Console.WriteLine("您的利息为:”);
Console。
WriteLine(Convert.ToString(bank。
InterestPaid(num)));
Console。
WriteLine("请问还要进行其它操作吗?〈Y>是,<N〉否");
////////////////////////////////
/////////////////////////////
string s4 = Console。
ReadLine();
if(s4 == "y"|| s4 == "Y")
{
morechoose = true;
}
else morechoose = false;
/////////////////////////////
//////////////////////////
break;
case 4:
Console。
WriteLine(”您的总结算为:");
Console.WriteLine(Convert。
ToString (bank.totalMoney(num)));
Console。
WriteLine("请问还要进行其它操作吗?<Y〉是,〈N〉否");
////////////////////////////
//////////////////////
string s5 = Console。
ReadLine();
if (s5 == ”y"|| s5 == "Y")
{
morechoose = true;
}
else morechoose = false;
//////////////////////
/////////////////////
break;
case 5:
Console。
WriteLine("银行总支付的利息为:”);
Console.WriteLine(Convert.ToString (bank.BtotalPaid(no)));
Console。
WriteLine("请问还要进行其它操作吗?〈Y〉是,〈N>否");
//morechoose = bool.Parse(Console。
ReadLine ());
//////////////////////////////
/////////////////////////
string s6 = Console.ReadLine();
if (s6 == ”y" || s6 == ”Y")
{
morechoose = true;
}
else morechoose = false;
//////////////////////////
//////////////////////////////
break;
default: break;
}
}
Console。
WriteLine(”请问还对其他账户操作吗?〈Y〉是,<N>否");
//moreAccount = bool。
Parse(Console。
ReadLine());
///////////////////////
////////////////////
string val = Console。
ReadLine();
if(val == "y"|| val == ”Y”)
{
moreAccount = true;
}
else moreAccount = false;
////////////////////
///////////////////////
}
}
}
}
四、实验调试过程及执行结果
六、实验总结
该程序实现了一个简单的银行系统,进入银行系统界面,用户可以输入需要银行管理的账户的个数、每个账户的账号、每个账号的现有存款、设置存款方式(通过选择0、1决定是活期存款还是定期存款),完成输入后,用户可以对输入的账号进行存取款、重新设置利率、显示利息、显示结算总额、银行对各管理的账号的总的支付利息的统计信息,当对一个账号操作完成时还可以选择是否对多个账号操作,即实现系统的多次使用。