基于C#编写经理评分系统

时间:2021-07-10 04:29:37

先写需求:

     01.显示员工信息

     02.实现项目经理给员工评分的功能

第一步:

     建立两个类,员工类和项目经理类

     定义属性和方法

    员工类:工号、年龄、姓名、人气值、项目经理年度评分、经理评价

    项目经理类:id、年龄、姓名、性别、资历,由于经理可以给员工评分,因此还有评分的方法

先上两张图再说:

查看窗体frmshow

基于C#编写经理评分系统

评分窗体frmjudge

基于C#编写经理评分系统

不说了,上代码

首先是员工类

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
using system.text;
using system.threading.tasks;
namespace 经理评分系统
{
  public class se
  {
 
    //员工工号
    public int engineerid { get; set; }
    //员工年龄
    public int age { get; set; }
    //员工性别
    public char sex { get; set; }
    //员工姓名
    public string name { get; set; }
    //员工人气值
    public int popularvalue { get; set; }
    //经理年度评分
    public int mscore { get; set; }
    //经理评价
    public string assess { get; set; }
  }
}

然后是经理类

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
using system;
using system.collections.generic;
using system.linq;
using system.text;
using system.threading.tasks;
namespace 经理评分系统
{
  class pm
  {
    //经理id
    public int mid { get; set; }
    //经理年龄
    public int mage{ get; set; }
    //经理姓名
    public string mname { get; set; }
    //经理性别
    public char msex{get; set; }
    //定义评分方法
    public void judge(se se,string assess,int score)
    {
      se.assess = assess;
      se.mscore = score;
    }
  }
}

接下来是查看窗体中的代码

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
using system;
using system.collections.generic;
using system.componentmodel;
using system.data;
using system.drawing;
using system.linq;
using system.text;
using system.threading.tasks;
using system.windows.forms;
namespace 经理评分系统
{
  public partial class frmshow : form
  {
    //定义员工数组
    public se[] engineer=new se[3];
    public frmshow()
    {
      initializecomponent();
      init();  //初始化se集合信息
      updateview();
    }
    //初始化员工信息
    public void init()
    {
      se s1 = new se();
      s1.engineerid = 111;
      s1.age = 26;
      s1.name = "王小毛";
      s1.assess = "未评价";
      s1.mscore = 0;
      engineer[0]=s1;
      se s2 = new se();
      s2.engineerid = 112;
      s2.age = 22;
      s2.name = "周新雨";
      s2.assess = "未评价";
      s2.mscore = 0;
      engineer[1] = s2;
      se s3 = new se();
      s3.engineerid = 113;
      s3.age = 30;
      s3.name = "张烨";
      s3.assess = "未评价";
      s3.mscore = 0;
      engineer[2] = s3;
    }
    //将数据绑定到listview对象的lvassess上
    public void updateview()
    {
      lvassess.items.clear();//评价后对数据进行刷新
      for (int i = 0; i < engineer.length;i++ )
      {
        listviewitem item = new listviewitem();
        //将员工信息绑定到listview中
        item.text = engineer[i].engineerid.tostring();
        item.subitems.add(engineer[i].name);
        item.subitems.add(engineer[i].age.tostring());
        item.subitems.add(engineer[i].mscore.tostring());
        item.subitems.add(engineer[i].assess);
        this.lvassess.items.add(item);
      }
    }
    //双击listview
    private void lvassess_doubleclick(object sender, eventargs e)
    {
      //获取当前选中的对象
      if(this .lvassess.selecteditems.count==0)
      {
        return;//必须先选中一行
      }
      int index = 0;
      for (int i = 0; i < engineer.length;i++)
      {
        if(engineer[i].engineerid.tostring()==this.lvassess.selecteditems[0].text.trim())
        {
          index = i;
          break;
        }
      }
      //选中对象评分
      frmjudge frm = new frmjudge(this,index);
      frm.show();
    }
  }
}

最后是经理评分窗体中写的代码

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
using system;
using system.collections.generic;
using system.componentmodel;
using system.data;
using system.drawing;
using system.linq;
using system.text;
using system.threading.tasks;
using system.windows.forms;
namespace 经理评分系统
{
  public partial class frmjudge : form
  {
    //保存父窗体的实例
    public frmshow myparent;
    //要评价的员工对象
    private se se;
    //参数:父窗体的实例、被评分的员工在员工数组中的位置
    public frmjudge(frmshow fparent,int index)
    {
      initializecomponent();
      this.myparent = fparent;
      this.se = myparent.engineer[index];
    }
    private void frmjudge_load(object sender, eventargs e)
    {
      //窗体加载,显示要评价的员工的姓名和得分等信息
      this.txtname.text = se.name;
      this.txtpingjia.text = se.assess;
      this.txtpingfen.text = se.mscore.tostring();
    }
    //点击评分按钮响应事件
    private void btnpingfen_click(object sender, eventargs e)
    {
      try
      {
        pm pm = new pm();
        pm.judge(se,this.txtpingjia.text.trim(),int32.parse(this.txtpingfen.text.trim()));
        //刷新主窗体
        this.myparent.updateview();
        this.close();
      }
      catch (exception ex)
      {
        messagebox.show("评分失败!"+ex.tostring());
      }
    }
    private void btncancel_click(object sender, eventargs e)
    {
      this.close();
    }
  }
}

以上所述是小编给大家介绍的基于c#编写经理评分系统,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!

原文链接:http://www.cnblogs.com/hfddz/archive/2017/03/10/6530027.html