ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:213.56KB ,
资源ID:4078485      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4078485.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(net程序设计实验三3员工津贴计算程序和委托事件.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

net程序设计实验三3员工津贴计算程序和委托事件.docx

1、net程序设计实验三3员工津贴计算程序和委托事件成绩批阅日期台州学院电子与信息工程学院实验报告班级 学号 姓名 吴前斌 同组 实验课程: .net程序设计 实验项目: 面向对象程序编程 实验日期: 2019 年 4 月 13 日4)在Worker类中要求创建一个用于检查用户输入工龄是否合法的CheckNum()方法。若输入值不能转换为int类型,方法返回false,否则返回true。5)在Worker类中声明一个委托IsFalseDelegate,通过该委托声明一个IsFalse事件及其事件触发方法ActiveEvent(),使得用户输入的工龄值大于50时触发IsFalse事件,并调用Back

2、Error()事件处理程序弹出图3-3-3所示的信息框提醒用户输入可能有错。图3-3-3 触发IsFalse事件 实验3-3-2 委托和事件设计一个控制台程序,利用委托和事件实现:刘备设鸿门宴, 吩咐关羽和张飞各自带队埋伏在门外, 刘备摔杯为号, 关羽和张飞则带队杀出;约定以杯为令:若左手举杯,则关羽带队杀出;若右手举杯,则张飞带队杀出;若直接摔杯,则关羽和张飞同时杀出。如图3-3-4。图3-3-4四、实验步骤及结果记录(文字说明、关键代码配截图)五、实验小结(实验过程中遇到哪些问题,你是如何解决的,哪些知识点是你学习中的难点)六、源程序(和实验报告一起打包上交,打包文件命名:学号姓名.net

3、程序设计实验3-3) 数据记录实验3-3-1 员工津贴计算程序使用接口、子接口、子类设计一个员工津贴计算程序。程序启动后显示图1、2、3所示界面:图1图2图3实现的代码如下:public partial class Form1 : Form interface IEmployee string Name get; set; bool Sex get; set; int Subsidy(); interface ITeacher : IEmployee string Post get; set; new int Subsidy(); interface IWorker : IEmployee i

4、nt WorkingYear get; set; new int Subsidy(); class Teacher : ITeacher private string _name; private bool _sex; private string _post; public string Name get = _name; set = _name = value; public bool Sex get = _sex; set = _sex = value; public string Post get = _post; set = _post = value; public int Sub

5、sidy() int s = 0; switch (Post) case 教授:s = 1200;break; case 副教授:s = 800;break; case 讲师:s = 500;break; case 助教:s = 300;break; return s; class Worker : IWorker private string _name; private bool _sex; private int _workingyear; public string Name get = _name; set = _name = value; public bool Sex get =

6、 _sex; set = _sex = value; public int WorkingYear get = _workingyear; set = _workingyear = value; public int Subsidy() return WorkingYear * 15; public bool CheckNum(string num) int y; if (int.TryParse(num, out y) = false) return false; else return true; /先声明委托 public delegate void IsFalseDelegate();

7、 /根据委托声明事件 public event IsFalseDelegate event_IsFalse; public void ActiveEvent(string val) if (int.Parse(val) 50) event_IsFalse(); public void error() MessageBox.Show(工龄输入有错误!,提醒,MessageBoxButtons.OK,MessageBoxIcon.Warning); public Form1() InitializeComponent(); private void Form1_Load(object sender

8、, EventArgs e) this.Text = 接口和接口的继承; cb_teacher_sex.Items.Add(男); cb_teacher_sex.Items.Add(女); cb_teacher_sex.Text = 男; cb_teacher_post.Items.Add(教授); cb_teacher_post.Items.Add(副教授); cb_teacher_post.Items.Add(讲师); cb_teacher_post.Items.Add(助教); cb_teacher_post.Text = 教授; cb_worker_sex.Items.Add(男);

9、cb_worker_sex.Items.Add(女); cb_worker_sex.Text = 男; lb_teacher_show.Text = ; lb_worker_show.Text = ; private void btn_teacher_Click(object sender, EventArgs e) if(text_teacher_name.Text = ) MessageBox.Show(请输入教师姓名, 出错,MessageBoxButtons.OK,MessageBoxIcon.Error); return; Teacher t = new Teacher(); t.P

10、ost = cb_teacher_post.Text; t.Name = text_teacher_name.Text; string sex; if(cb_teacher_sex.Text = 男) t.Sex = true; sex = 男; else t.Sex = false; sex = 女; string s = t.Subsidy().ToString(); lb_teacher_show.Text = t.Name + + sex + + t.Post + 津贴: + t.Subsidy().ToString(); private void btn_worker_Click(o

11、bject sender, EventArgs e) if (text_worker_name.Text = | text_worker_year.Text = ) MessageBox.Show(姓名和工龄值都不能为空!, 错误, MessageBoxButtons.OK, MessageBoxIcon.Error); return; Worker w = new Worker(); /检查工龄值是否合法 if (w.CheckNum(text_worker_year.Text) = false) MessageBox.Show(工龄值输入不正确!, 错误, MessageBoxButton

12、s.OK, MessageBoxIcon.Error); return; /事件订阅 w.event_IsFalse += new Worker.IsFalseDelegate(w.error); /判断工龄值是否过大(大于50) w.ActiveEvent(text_worker_year.Text); w.Name = text_worker_name.Text; w.WorkingYear = int.Parse(text_worker_year.Text); string sex; if (cb_worker_sex.Text = 男) w.Sex = true; sex = 男; e

13、lse w.Sex = false; sex = 女; lb_worker_show.Text = w.Name + + sex + + w.WorkingYear.ToString() + 津贴: + w.Subsidy().ToString(); private void text_teacher_name_TextChanged(object sender, EventArgs e) 实验3-3-2 委托和事件设计一个控制台程序,利用委托和事件实现:刘备设鸿门宴, 吩咐关羽和张飞各自带队埋伏在门外, 刘备摔杯为号, 关羽和张飞则带队杀出;约定以杯为令:若左手举杯,则关羽带队杀出;若右手举

14、杯,则张飞带队杀出;若直接摔杯,则关羽和张飞同时杀出。如下图4所示:图4设计的部分代码如下: class Program public delegate void raise(); public delegate void fall(); public class liubei public event raise event_right; /左手事件 public event raise event_left; /右手事件 public void method_right() Console.WriteLine(刘备左手举杯); if (event_right != null) event_

15、right(); public void method_left() Console.WriteLine(刘备右手举杯); if (event_left != null) event_left(); public event fall event_fall; /摔杯事件 public void method_fall() Console.WriteLine(刘备摔杯); if (event_fall != null) event_fall(); public class guanyu public guanyu(liubei lb) /构造方法,直接订阅 lb.event_right += n

16、ew raise(this.attack); lb.event_fall += new fall(attack); public void attack() /关羽的攻击 Console.WriteLine(关羽发动攻击,一把青龙偃月刀耍的虎虎生威); public class zhangfei public zhangfei(liubei lb) /构造 lb.event_left += new raise(attack); lb.event_fall += new fall(attack); public void attack() Console.WriteLine(张飞发动攻击,大喊:

17、猛人张飞来也!); static void Main() liubei lb = new liubei(); /关羽 zhangfei zf = new zhangfei(lb); guanyu gf = new guanyu(lb); lb.method_right(); /张飞 lb.method_left(); /一起 lb.method_fall(); Console.ReadKey(); 实验小结(实验过程中遇到哪些问题,你是如何解决的,哪些知识点是你学习中的难点) 本次实验相对来说,涉及到了很多内容,在编写教授津贴的那个项目的时候对于细节的private 以及public公共类老是会忘记掉导致运行的时候出不来,再排查过后发现了问题,其他都没什么大问题基本按照书上都能调试出来,针对第二题刘备张飞关羽举杯之事相互之间的委托关系有点弄的不是很透彻经询问同学帮忙参考之后,解决了问题完成了调试。 教师签名:

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1