《.NET开发技术》_计科_作业03_第4章

问题 A: C# teacher类

题目描述

定义一个教师类Teacher,具体要求如下:

1、私有字段工号no(string)、姓名name(string)、出生日期birthday(DateTime)、性别sex(SexFlag)。其中,SexFlag为枚举类型,包括Male(表示男性)、Female(表示女性),并且字段sex缺省值为男。

2、定义公有读写属性No用来访问no字段;定义公有读写属性Name用来访问name字段;定义公有只写属性Birthday用来赋值birthday字段;定义公有读写属性Sex用来访问sex字段。

3、设计合理的构造函数,使得创建对象时可以设置工号、姓名、出生日期、性别。

4、重写ToString()方法,用来输出Teacher对象的信息,具体格式如下描述。

5、创建一个教师对象teacher(工号--0203, 姓名--zhangsan,出生日期--1987-12-09 , 性别--女),调用ToString()方法后在控制台上显示teacher信息:


根据以下代码,请补写缺失的代码。

using System;
namespace ConsoleApplication1
{
    enum SexFlag
    {
        Male,Female
    }
    class Teacher
    {
        private string no;
        private string name;
        private DateTime birthday;
        private SexFlag sex = SexFlag.Male;
/

   //请填写代码

/
    }
    class Program
    {
        static void Main(string[] args)
        {
            Teacher teacher = new Teacher("0203", "zhangsan", DateTime.Parse("1987-12-09"), SexFlag.Female);
            Console.WriteLine(teacher.ToString());
        }
    }
}

 
 


输入

输出

样例输入

样例输出

0203,zhangsan,32 years old,Female
using System;
namespace ConsoleApplication1
{
    enum SexFlag
    {
        Male, Female
    }
    class Teacher
    {
        private string no;
        private string name;
        private DateTime birthday;
        private SexFlag sex = SexFlag.Male;
        private int old;
        public Teacher(string sno,string sname,DateTime sbirthday,SexFlag ssex)
        {
            no=sno;
            name=sname;

            TimeSpan span;
            string str_now;
            string year = DateTime.Now.Year.ToString();
            string month = DateTime.Now.Month.ToString();
            string day = DateTime.Now.Day.ToString();
            DateTime dt1 = Convert.ToDateTime(sbirthday);
            str_now = year + "-" + month + "-" + day;
            DateTime dt3 = Convert.ToDateTime(str_now);//现在的时间
            span = dt3.Subtract(dt1);
           // Console.WriteLine(span+"***");
        
            this.old = (span.Days - 1) / 365;
            birthday=sbirthday;
            
            sex=ssex;
        }
        public string No
        {
            get{return no;}
            set{this.no=value;}
        }
        public  string Name
        {
           get{return name;}
            set{this.name=value;}
        }
        public DateTime Birthday
        {
            set{
                this.birthday = value;
             }
        }
        public SexFlag Sex
        {
             get{return sex;}
            set{this.sex=value;}

        }
        public override string ToString()
        {
            return no+","+name+","+old+" years old,"+sex;
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            Teacher teacher = new Teacher("0203", "zhangsan", DateTime.Parse("1987-12-09"),SexFlag.Female);
            Console.WriteLine(teacher.ToString());
            Console.ReadKey();
        }
    }
}

 

提示

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值