上机实验2(7页).doc
-上机实验2-第 7 页攀枝花学院实验报告实验课程: Visual C#,NET程序设计 实验项目: 上机实验4 实验日期:2015年4月28日 系:数学与计算机学院 班级: 2013级计算机科学与技术 姓名: 何静 学号: 201310801009 同组人: 指导教师:罗明刚 成绩:实验目的:1. 理解面向对象的概念,掌握C#的定义类和创建对象的方法;2. 区分类的不同数据成员,包括常量,字段,属性的定义方法,并学会控制其可访问性;3. 掌握类的方法成员的声明和调用,理解各种参数在方法中的意义和使用;4. 理解构造函数和析构函数的作用机制.实验仪器设备,药品,器材:Microsoft visual studio 2010实验原理:1.熟悉visual 2010的基本操作方法.1. 认真阅读本章相关内容,尤其是案例.2. 实验前进行程序设计,完成源程序的编写任务.3. 反复操作,直到不需要参考教材,能熟练操作为止.实验步骤:见下页实验步骤:1. 设计一个简单的windows应用程序,输入联系人的姓名,电话和Email,单击添加按钮,显示该联系人的相应信息.要求定义一个AddressBook类,包括:(1) .3个私有字段表示姓名,电话和Email;(2) 一个构造函数通过传入的参数对联系人信息初始化;(3) 一个只读属性对姓名读取;(4) 两个可读属性对电话和Email进入读写,当用户没有输入电话或Email时,读出的值为未输入;(5) 一个方法对该联系人的相应信息进行显示.实验源程序如下:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;namespace _9 public partial class Form1 : Form public Form1() InitializeComponent(); private void button1_Click(object sender, EventArgs e) string name = txtname.Text; string phone = txtphone.Text; if (phone = "") phone = null; string email = txtemail.Text; if (email = "") email = null; AddressBook a = new AddressBook(name,phone,email); txtmessage.Text = a.getMessage(); class AddressBook private string name; private string phone; private string email; public AddressBook(string name, string phone, string email) this.name = name; this.phone = phone; this.email = email; public string Name get return name; public string Phone get if (phone = null) return "未输入" else return phone; set phone = value; public string Email get if (email = null) return "未输入" else return email; set email = value; public string getMessage() return string.Format("姓名:0n电话:1nEmail:2", Name, Phone, Email);实验截图:2. 自定义一个时间类,该类包括小时,分,秒字段与属性,具有将秒增加1秒的方法.要求定义一个Time类,包括:(1) .3个私有字段表示时,分,秒;(2) 两个构造函数,一个通过传入的参数对时间初始化,另一个获取系统当前的时间;(3) 3个只读属性对时分秒的读取;(4) 一个方法用于对秒增加1秒.实验源程序如下:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;namespace _11 public partial class Form1 : Form public Form1() InitializeComponent(); private void button1_Click(object sender, EventArgs e) Time t = new Time(); txth.Text = Convert.ToString(t.Hour(); txtm.Text = Convert.ToString(t.Minute(); txts.Text = Convert.ToString(t.Second(); class Time int hour,minute,second; public int Hour() return hour; public int Minute() return minute; public int Second() return second; public Time() hour = System.DateTime.Now.Hour; minute = System.DateTime.Now.Minute; second = System.DateTime.Now.Second; public Time(int h, int m, int s) hour = h;minute = m;second = s; public void Andsecond() second+; if (second >= 60) second = second % 50; minute+; if (minute >= 60) minute = minute % 60; hour+;实验截图:3. 设计一个windows应用程序,.模拟一个简单的银行账户管理系统完成创建账户,取款,存款,和余额查询的模拟操作.程序功能如下:(1) .当单击”创建用户”按钮时,其中卡号为随I机生成的一个在100000到499999之间的值,余额初始化为100.(2) 在”取款”文本框中输入取款金额后,单击取款按钮,如果没有创建账户或没有输入取款金额而单击取款按钮或余额不足时,需要给出适当提示.(3) 在存款文本框中输入存款金额后,单击存款按钮,如果没有创建账户或没有输入取款金额而单击存款按钮时,需要给出适当提示.(4) 当单击余额查询按钮时,显示当前余额为x.实验源程序如下:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;namespace _10 public partial class Form1 : Form public Form1() InitializeComponent(); Account account; private void button1_Click(object sender, EventArgs e) account=new Account (); string message=String.Format ("创建户账户成功,用户卡号为:0",account.CreditNo); lblshow.Text ="n"+message+"n" private void button2_Click(object sender, EventArgs e) string message; if(account=null) message="请先创建账户!" else if(txtq.Text="") message="请输入取款余额" else decimal money=decimal .Parse (txtq.Text); account.WithDraw(money,out message); lblshow.Text="n"+message+"n" private void button3_Click(object sender, EventArgs e) string message; if (account = null) message = "请先创建账户!" else if (txtc.Text = "") message = "请输入存款金额" else decimal money = decimal.Parse(txtc.Text); account.CuKuan(money, out message); lblshow.Text = "n" + message + "n" private void button4_Click(object sender, EventArgs e) string message; if (account = null) message = "请先创建账户!" account.ChaXun(out message); lblshow.Text = "n" + message + "n" public class Account private int creditNo; private decimal banlance; public Account() Random r = new Random(); creditNo = r.Next(100000, 500000); banlance = 100; public decimal Banlance get return this.banlance; public int CreditNo get return this.creditNo; public bool WithDraw(decimal money, out string message) if (money < 0) message = "操作失败!n输入金额不正确" return false; else if (banlance >= money) banlance -= money; message = "操作成功n取款" + money + "元" return true; else message = "操作失败!n余额不足!" return false; public bool CuKuan(decimal money, out string message) if (money < 0) message = "操作失败!n输入金额不正确" return false; else banlance += money; message = "操作成功n存款" + money + "元" return true; public decimal ChaXun(out string message) message = "当前余额为:" + banlance + "元" return this.banlance;实验截图:实验总结: