您好,欢迎访问三七文档
-1-攀枝花学院实验报告实验课程:VisualC#.NET程序设计教程实验项目:上机实验4实验日期:2015.04.28系:数计学院班级:2013级计算机科学与技术姓名:曹欣学号:201310801001指导教师:罗明刚成绩:一、实验目的1.理解面向对象的概念,掌握C#的定义类和创建对象的方法。2.区分类的不同数据成员,包括常量、字段和属性的定义方法,并学会控制其可访问性。3.掌握类的方法成员的声明和调用,理解各种参数在方法中的意义和使用。4.理解构造函数和析构函数的作用机制。二、实验要求1.熟悉VisualStudio.Net2010的基本操作方法。2.认真阅读本章相关内容,尤其是案例。3.实验前进行程序设计,完成源程序的编写任务。4.反复操作,直到不需要参考教材、能熟练操作为止。三、实验步骤1.设计一个简单的Windows应用程序,输入联系人的姓名、电话和Email,单击“添加”按钮,显示该联系人的相应信息。要求定义一个AdressBook类,包括:(1)3个私有字段表示姓名、电话和Email;(2)一个构造函数通过传入的参数对联系人信息初始化;(3)一个只读属性对姓名读取;(4)两个可读写属性对电话和Email进入读写,当用户没有输入电话或Email时,读出的值为“未输入”;(5)一个方法对该联系人的相应信息进行显示。源程序如下:usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Windows.Forms;namespaceTest2_1{publicpartialclassForm1:Form{-2-publicForm1(){InitializeComponent();}publicclassAddressBook{privatestringname;privatestringphone;privatestringemail;publicAddressBook(stringname,stringphone,stringemail){this.name=name;this.phone=phone;this.email=email;}publicstringName{get{returnname;}}publicstringPhone{get{if(phone==null)return未输入;elsereturnphone;}set{phone=value;}}publicstringEmail{get{if(email==null)return未输入;elsereturnemail;}set{email=value;}}publicstringGetMessage()-3-{returnString.Format(姓名:{0}\n电话:{1}\nEmail:{2},Name,Phone,Email);}}privatevoidbutton1_Click(objectsender,EventArgse){stringname=txtname.Text;stringphone=txtphone.Text;if(phone==)phone=null;stringemail=txtemail.Text;if(email==)email=null;AddressBookpeople=newAddressBook(name,phone,email);lblshow.Text=people.GetMessage();}}}运行结果如下:2.自定义一个时间类。该类包括小时、分、秒字段与属性,具有将秒增加1秒的方法。要求定义一个Time类,包括:(1)3个私有字段表示时、分、秒;(2)两个构造函数,一个通过传入的参数对时间初始化;另一个获取系统当前的时间;(3)3个只读属性对时、分、秒的读取;(4)一个方法用于对秒增加1秒。源程序如下:usingSystem;usingSystem.Collections.Generic;-4-usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Windows.Forms;namespaceTest2_2{publicpartialclassForm1:Form{publicForm1(){InitializeComponent();}publicclassTime{privateinthour;privateintminute;privateintsecond;publicTime(){hour=System.DateTime.Now.Hour;minute=System.DateTime.Now.Minute;second=System.DateTime.Now.Second;}publicTime(inth,intm,ints){hour=h;minute=m;second=s;}publicintHour{get{returnhour;}}publicintMinute{get{returnminute;}}publicintSecond{get{returnsecond;}}publicvoidAddSecond(){-5-second++;if(second60){second=second%60;minute++;}if(minute60){minute=minute%60;hour++;}}}privatevoidbutton1_Click(objectsender,EventArgse){Timet=newTime();txthour.Text=Convert.ToString(t.Hour);txtminute.Text=Convert.ToString(t.Minute);txtsecond.Text=Convert.ToString(t.Second);}}}运行结果如下:3、设计一个Windows应用程序,模拟一个简单的银行账户管理系统。完成”创建账户“、”取款“、”存款“和”查询余额“的模拟操作。程序功能如下。(1).当单击”创建用户”按钮时,其中卡号为随I机生成的一个在100000到499999之间的值,余额初始化为100。(1)在”取款”文本框中输入取款金额后,单击取款按钮,如果没有创建账户或没有输入取款金额而单击取款按钮或余额不足时,需要给出适当提示。(2)在存款文本框中输入存款金额后,单击存款按钮,如果没有创建账户或没有输入取款金额而单击存款按钮时,需要给出适当提示。(3)当单击余额查询按钮时,显示当前余额。源程序如下:-6-usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Windows.Forms;namespaceTest2_3{publicpartialclassTest2_3:Form{publicTest2_3(){InitializeComponent();}publicclassAccount{privateintcardNo;privatedoublebalance;publicAccount(){Randomr=newRandom();cardNo=r.Next(100000,500000);balance=100;}publicdoubleBalance{get{returnthis.balance;}}publicintCardNo{get{returnthis.cardNo;}}publicboolGetMoney(doublemoney,outstringmessage){if(money0){message=操作失败!\n输入金额不正确!;returnfalse;}elseif(balance=money)-7-{balance-=money;message=操作成功!\n取款+money+元;returntrue;}else{message=操作失败!\n余额不足!;returnfalse;}}publicboolSaveMoney(doublemoney,outstringmessage){if(money0){message=操作失败!\n输入金额不正确!;returnfalse;}else{balance+=money;message=操作成功!\n存款+money+元;returntrue;}}}Accountaccount=newAccount();privatevoidbtaccount_Click(objectsender,EventArgse){stringmessage=String.Format(创建账户成功,用户卡号为:{0},account.CardNo);lblshow.Text=\n+message+\n;}privatevoidbtget_Click(objectsender,EventArgse){stringmessage;if(account==null)message=请先创建账户!;elseif(txtget.Text==)message=请输入取款金额!;else{doublemoney=double.Parse(txtget.Text);account.GetMoney(money,outmessage);-8-}lblshow.Text=\n+message+\n;}privatevoidbtsave_Click(objectsender,EventArgse){stringmessage;if(account==null)message=请先创建账户!;elseif(txtsave.Text==)message=请输入存款金额!;else{doublemoney=double.Parse(txtsave.Text);account.SaveMoney(money,outmessage);}lblshow.Text=\n+message+\n;}privatevoidbtcheck_Click(objectsender,EventArgse){stringmessage;if(account==null)message=请先创建账户!;else{lblshow.Text=当前余额为\n:+account.Balance+\n元;}}}}运行结果如下:-9-四、实验总结
本文标题:62实验报告二
链接地址:https://www.777doc.com/doc-5941356 .html