window窗体---学习记录(1)-----设计一个学生信息记录程序

简介: 设计一个Windows应用程序,在该程序中首先构造一个学生基本类,在分别构造小学生、中学生、中职生、大学生等派生类,要求具有不同的特征和行为,能通过静态成员自动记录不同的学生人数。

  1. 界面截图
  2. 分部实现
  3. 总代码

界面截图:在这里插入图片描述
知识点:需要用到tabcontrol控件,button控件,label控件,Textbox控件,foreach循环遍历,list动态数组

1.小学生类:

class MinStudent {
        
        protected string name;
        protected string sex;
        protected string school;
        private int grade;
        private static int sum = 0;
        public string Name
        {
            get {
                return name;
            }

        }
        public void add()
        {
            sum++;
        }
        public MinStudent(string name ,string sex ,string school,int grade)
        {
            this.name = name;
            this.sex = sex;
            this.school = school;
            this.grade = grade;
        }
        public string Search()
        {

            return string.Format("{0}的性别为{1}\n学校为{2}\n成绩为{3}\n学生人数{4}",name,sex,school,grade,sum);
        }
    }

}

2.添加按钮点击事件:

 private void btn_add1_Click(object sender, EventArgs e)
        {
            
            if(txtBN.Text == "" || txtBS.Text==""||txtBSh.Text ==""||txtBG.Text=="")
            {
                label5.Text = "信息填写错误或不完全";
            }
            else
            {
                label5.Text = "添加成功";
                string nam = txtBN.Text;
                string sex = txtBS.Text;
                string school = txtBSh.Text;
                int garde = int.Parse(txtBG.Text);
                MinStudent min = new MinStudent(nam, sex, school, garde);
                mins.Add(min);
                min.add();
            }
        }

3.查询按钮点击事件

 private void btn_search1_Click(object sender, EventArgs e)
        {


            
            foreach (MinStudent min in mins)
            {
                if (min.Name == txtBN.Text)
                {
                    label5.Text = min.Search();
                    return;
                }

            }
            label5.Text = "存储数据中无此人信息";



        }

4.创建中学生派生类:

 class MidStudent : MinStudent
    {
        private int age;
        private static int sum = 0;
        public MidStudent(string name,string sex,string school):base (name,sex,school){}
        public override int Get
        {
            set { age = value; }
        }
        public override string Search()
        {
            return string.Format("{0}的性别为{1}\n学校为{2}\n年龄为{3}\n学生人数{4}", name, sex, school, age, sum);
        }
        public override void add()
        {
            sum++;
        }
    }

总代码:

namespace 实验四
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }


        List<MinStudent> mins = new List<MinStudent>();
        List<MidStudent> mids = new List<MidStudent>();
        List<ProStudent> pros = new List<ProStudent>();
        List<ColStudent> cols = new List<ColStudent>();
        private void btn_add1_Click(object sender, EventArgs e)
        {
            
            if(txtBN.Text == "" || txtBS.Text==""||txtBSh.Text ==""||txtBG.Text=="")
            {
                label5.Text = "信息填写错误或不完全";
            }
            else
            {
                label5.Text = "添加成功";
                string nam = txtBN.Text;
                string sex = txtBS.Text;
                string school = txtBSh.Text;
                int garde = int.Parse(txtBG.Text);
                MinStudent min = new MinStudent(nam, sex, school);
                min.Get = garde;
                mins.Add(min);
                min.add();
            }
        }
        private void btn_search1_Click(object sender, EventArgs e)
        {            
            foreach (MinStudent min in mins)
            {
                if (min.Name == txtBN.Text)
                {
                    label5.Text = min.Search();
                    return;
                }

            }
            label5.Text = "存储数据中无此人信息";



        }

        private void btn_add2_Click(object sender, EventArgs e)
        {
            if (txtBN2.Text == "" || txtBS2.Text == "" || txtBSh2.Text == "" || txtBAge.Text == "")
                label10.Text = "信息填写错误或不全";
            else
            {
                label10.Text = "添加成功";
                string nam = txtBN2.Text;
                string sex = txtBS2.Text;
                string school = txtBSh2.Text;
                int age = int.Parse(txtBAge.Text);
                MidStudent mid = new MidStudent(nam, sex, school);
                mid.Get = age;
                mids.Add(mid);
                mid.add();
            }
        }
        private void btn_search2_Click(object sender, EventArgs e)
        {
            foreach (MidStudent mid in mids)
            {
                if (mid.Name == txtBN2.Text)
                {
                    label10.Text = mid.Search();
                    return;
                }

            }
            label10.Text = "存储数据中无此人信息";
        }

        private void btn_add3_Click(object sender, EventArgs e)
        {
            if (txtBN3.Text == "" || txtBS3.Text == "" || txtBSh3.Text == "" || txtBYear.Text == "")
                label11.Text = "信息填写错误或不全";
            else
            {
                label11.Text = "添加成功";
                string nam = txtBN3.Text;
                string sex = txtBS3.Text;
                string school = txtBSh3.Text;
                int year = int.Parse(txtBYear.Text);
                ProStudent pro = new ProStudent(nam, sex, school);
                pro.Get = year;
                pros.Add(pro);
                pro.add();
            }
        }
        private void btn_search3_Click(object sender, EventArgs e)
        {
            foreach (ProStudent pro in pros)
            {
                if (pro.Name == txtBN3.Text)
                {
                    label11.Text = pro.Search();
                    return;
                }

            }
            label11.Text = "存储数据中无此人信息";
        }

        private void btn_search4_Click(object sender, EventArgs e)
        {
            foreach (ColStudent col in cols)
            {
                if (col.Name == txtBN4.Text)
                {
                    label16.Text = col.Search();
                    return;
                }

            }
            label16.Text = "存储数据中无此人信息";
        }

        private void btn_add4_Click(object sender, EventArgs e)
        {
            if (txtBN4.Text == "" || txtBS4.Text == "" || txtBSh4.Text == "" || txtBsubject.Text == "")
                label16.Text = "信息填写错误或不全";
            else
            {
                label16.Text = "添加成功";
                string nam = txtBN4.Text;
                string sex = txtBS4.Text;
                string school = txtBSh4.Text;
                string subject = txtBsubject.Text;
                ColStudent col =new ColStudent(nam, sex, school);
                col.Get = subject;
                cols.Add(col);
                col.add();
            }
        }
    }


    class MinStudent {
        
        protected string name;
        protected string sex;
        protected string school;
        private int grade;
        private static int sum = 0;

        public virtual  int Get
        {
            set
            {
                this.grade = value;
            }
        }
        public string Name
        {
            get {
                return name;
            }

        }
        public virtual void add()
        {
            sum++;
        }
        public MinStudent(string name ,string sex ,string school)
        {
            this.name = name;
            this.sex = sex;
            this.school = school;
            
        }
        public virtual string  Search()
        {

            return string.Format("{0}的性别为{1}\n学校为{2}\n成绩为{3}\n学生人数{4}",name,sex,school,grade,sum);
        }
    }
    class MidStudent : MinStudent
    {
        private int age;
        private static int sum = 0;
        public MidStudent(string name,string sex,string school):base (name,sex,school){}
        public override int Get
        {
            set { age = value; }
        }
        public override string Search()
        {
            return string.Format("{0}的性别为{1}\n学校为{2}\n年龄为{3}\n学生人数{4}", name, sex, school, age, sum);
        }
        public override void add()
        {
            sum++;
        }
    }
    class ProStudent : MidStudent
    {
        public ProStudent(string name,string sex,string school) : base(name, sex, school) { }
        private int year;
        private static int sum = 0;
        public override int Get { set { this.year = value; } }
        public override string Search()
        {
            return string.Format("{0}的性别为{1}\n学校为{2}\n年制为{3}\n学生人数{4}", name, sex, school,year, sum); 
        }
        public override void add()
        {
            sum++;
        }
    }
    class ColStudent : ProStudent
    {
        public ColStudent(string name, string sex, string school) : base(name, sex, school) { }
        private string subject;
        private static int sum = 0;
        new public string Get
        {
            set { this.subject = value; }
        }
        public override string Search()
        {
            return string.Format("{0}的性别为{1}\n学校为{2}\n学科为{3}\n学生人数{4}", name, sex, school, subject, sum);
        }
        public override void add()
        {
            sum++;
        }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值