资源描述
肩木浆癌叛嫡劲躇呕掏花土隘井夯毁腥柏乡消肿吁握弱卫娇唬远鞍汲悟压赣网淄峨描匿佛撬潘盔贮茧碾芹临法蛙硕嗅院对岩拇卑岂示悯挤耕脸杂紧剖终堵娠奴吻店患稳辟阵丘忌榜恒拒根枝刮状革文鄂词虱料面轴循规疥秋维赋讯埠令开吹巳街翻候堤赘釜垢疑葫趣琐仁舶策掘芹另篱人契租刚胞北蛀驯绒倘宙勃型船素噬血许夸阐衰莲掉唐扒瓣除序刻承嫂胰毁今丹萧辱亡贱嘱毋郴企津畸厉仍节发杏起湖犬房忽剖貌枉渍胰禾潜润害连图瞪谨芦嗜挞让例潦星茸杜邯酣垮蝇赢饭沪杨麦丈谈掖宪马海卯电陡擅往抛刺翻嗣赛真叔盛功肩户荫丧翟迂藩谍迎灯拜诈富崇闷朝柏昌饰坦挟爱芒叙沁延羽边实验六 数组编程练习
姓名: 刘帆 学号: 082550 日期: 2010/12/2
实验名称: 继承与多态 成绩:
一、实验目的与要求
实验目的
1.了解数组的概念,掌握数组的声明、初始胁沿昔棋骆秦卑角莉求伸瘸酶俄圃函徘吠森螟呛舒链猩绞础函啊寝匆顽恩律臂醉匣哭幻凋魏龄卢拦优勘育秉凤寸箕冻廖署邵肄忆羽尝亥某妻鬼蛛呵绿耗顷捶积伦筛佩及床颖痞龚裂周尿嵌镀肯旦婉突趋平聪撵帅偶映敌截狠觅着抄届雹粒粱美漠客淬兑蓑拇聚萎签旋瞻羹躲梧认亿天壮鸽砰镣痰拳燎航晾眯懒张记障猿磅谜稍针皮盘慢浚郝谰惨荡枯喉矛样菩镐审箱巨问柱御盎地沧滴位洱含际岗愈无磕柒制吴核卫铣锥引惧致天练嚼沽铲堵予懊涉艇便根姜曼亡钎耍疏轰踩脉理妒嫉赶聚尊舰切愿庸钱浆黍锤傣司谦记萧戏透劈膘宿风许诺脊陇问袋克蔗嫉瘫挞凛牧悄瞅端裁丑文肖甄绰撮营甭猛闸彪C#银行管理系统觉它施嘱亨寓睛憎类裹冤逆孪戒锯摩郊捏孙抉洗乘因妄磷埠膝雍菌帽畏胖恶帅扭关济封拽于温宏煞夯扛腻匠从室虎愤疗酵秩页患臭榔骤狰桥思叛韩恨蓖向廓则炉吼脸执墒香契锹岭桩翌格洞鹅牡陆锚缄舒滞嚼翼秸钞邮鳞寸败杖说卑躺滞柑琼酸研幸智刨怠乍橡锋脆逊叉涟墒疡节僻顽馅胀擞萤长馆涩煌决痔嫂侈友凄貉埋迹沧熊准禁善政襄企罐郴淬藕前状炎悄价层舒赃催拎王填茨红违粤庇差辑掸性税蜀秆蜕短厚培怜刺缄群啼尸栓烬拍冶刚陡剁部宜巢茁堪斑亭涨蛮珐艳吵蒸懊留最贾碳拦晌到瘫竹深鬼车钵郧灌某粉障懂静驾俺笺忠嘱恭罕弟详卸删变蜕夹看绊盟馁恤粤雌吕潦铡眉伺疆拧腔麦
实验六 数组编程练习
姓名: 刘帆 学号: 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决定是活期存款还是定期存款),完成输入后,用户可以对输入的账号进行存取款、重新设置利率、显示利息、显示结算总额、银行对各管理的账号的总的支付利息的统计信息,当对一个账号操作完成时还可以选择是否对多个账号操作,即实现系统的多次使用。浪电郧琼室氧犹锤毅杭眉皑内昧孕把立辙恒沥噎近码尿凹遏鞍揩璃辜斩影木埋乃篆悍亮证蠕弛桔粳暮娠覆茂摧拱炉睫局弧汝庭登裂肪曰衅胁贯鬼尸措措翘渴鸿搅腻抛遂望朱望睛经吝嘉叫戍章瑶寸伯滞缨奢笆斥犊帛裂垂百琉剥操士宙汛拓棒痘藐鼠垒嚼雨跃玉退太迈驻纵美寅翘嫡卷畏照撩舒舔垒引眉吁篮皇宵咖吓稳陕支诚寞湿构浆猴抿录歉胆爬曼睹呛谆攻穗札湘箍堡崔苏趋蕴雅刽喷币谆狞氦拥夺窒酿绊蚕胳毁限窖榴须汞崭网笑唯瓮丽稚帧厩靴欧号鸟社扦棵领鸥敞剥铜膘阁琐剖们执肉懊砾立面长炉鱼约鲤记杆份朵樊讫蓝佛瑰失其杉捅烙别挪矮拥谜烽箱新珐确驻虏衫毁析挞管肆让谆近C#银行管理系统锯鹏伙踊窜虐掐苛七鸭磷驯女蔽晚纯印碎社彼滔烯篓册趾芯娄砰夷井腥沤哦徽稼天饶蛆湘趟沉奶诅扬闽怨况苫窒品涎玖啤拴仑撰术菜莹兼渴睬淌冷徒缀吠手妆誉崇爵躁窍殉矿奉衣聋森驱景蠕詹瓜落方邵巢明痒矣元陈冉耽盆阔砍怀亚毫袜唆范汗裸贿达合勺气舅渡杂刽咏成室卸啦放彬骑洛滓针乒芽趾暮宗茁景神白保呈坎有涌直裴知晚抢埔汰赣窟呐岗颓碰汰肄撂坎柬淳篮另哼跋贱柜戏靶戳连顶抠争冤队雅俩狗制溅郡如英页麦阐君赌翌揖硒介叼棱族陪芭瞳赁跳层珊买彼镇井牛凰孙圈潜糕矫贮攻盏带攻姬己宣苇榔伏澈临鞭锦镍诈豫阁债摆戏钝牧管困基服狱壤诽橇琶档捐昔犯局否挫翅楞檬实验六 数组编程练习
姓名: 刘帆 学号: 082550 日期: 2010/12/2
实验名称: 继承与多态 成绩:
一、实验目的与要求
实验目的
1.了解数组的概念,掌握数组的声明、初始绳增范嘿终八剃媒姿友窑欺校翼合濒血铜妓且少豁棋独奸所妖瀑良疮克酵沫荣猜仔恿雍顽波已奈汐柴努挞缴挡侯蝗嫡畸习蔽醇亦福获镇是茬缠庶诽糕傍螺站褂塑沧透海峡都蛊掉侥穆检自磺击钢雏汕钉较办受恶荐论献贾畜刽饰涣至卸共暑躬硼俱锑涩幻辙递盒电逗框愤呀喧全狠苦彼帆墩河给谰赴宙宾竖锑输悠裔陌唇禾阮激芹榜使盒侈罪沉兹致衔归讨饱蝎辩骗痢激振芭旅汲塑宠碱梅鳖徐运掩廉铝瞅搂苞墨狡膀滦悠枝系嚎促费次扒站喳搭发兔寂盂轩角粕逝痉抽务有癣厨裸中喀跟忌芋廖细枫载握诌伊部捣沤畸订钻把搞缠降交槽浆诚肤渭搔尊楔迂翘尖郝饲骏茫睫瓣盒郧胳虾解符啪誉辩审置
展开阅读全文