第五章课后作业

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 Lesson5_1
{
    public partial class FrmMain : Form
    {
        public FrmMain()
        {
            InitializeComponent();
        }

        List<HealthCheckItem> AllItems = new List<HealthCheckItem>();
        Dictionary<string, HealthCheckSet> d = new Dictionary<string, HealthCheckSet>();
        /// <summary>
        /// 加载数据
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void FrmMain_Load(object sender, EventArgs e)
        {
            Ban();
            Healthset();

        }
        /// <summary>
        /// 总价格
        /// </summary>
        public void Calcpriceadd()
        {
            int price = 0;
            foreach (var item in d)
            {
                if (item.Key.Equals(cmbTlist.Text.Trim()))
                {
                    item.Value.CalcPrice();
                    price = item.Value.TPrice;
                    break;
                }
            }
            lblprice.Text = price.ToString();
        }
        public void Ban()
        {
            //绑定检查项目数据
            HealthCheckItem he = new HealthCheckItem();
            he.Name = "请选择";
            HealthCheckItem h = new HealthCheckItem("用于检查身高。", "身高", 5);
            HealthCheckItem h1 = new HealthCheckItem("用于检查体重。", "体重", 5);
            HealthCheckItem h2 = new HealthCheckItem("用于检查视力。", "视力", 5);
            HealthCheckItem h3 = new HealthCheckItem("用于检查听力。", "听力", 5);
            HealthCheckItem h4 = new HealthCheckItem("用于检查肝功能。", "肝功能", 50);
            HealthCheckItem h5 = new HealthCheckItem("用于检查B超。", "B超", 30);
            HealthCheckItem h6 = new HealthCheckItem("用于检查心电图。", "心电图", 60);
            AllItems.Add(he);
            AllItems.Add(h);
            AllItems.Add(h1);
            AllItems.Add(h2);
            AllItems.Add(h3);
            AllItems.Add(h4);
            AllItems.Add(h5);
            AllItems.Add(h6);
            BindItem();
        }
        /// <summary>
        /// 数据绑定
        /// </summary>
        public void BindItem()
        {
            cmbcheck.DataSource = new List<HealthCheckItem>(AllItems);
            cmbcheck.DisplayMember = "Name";
            cmbcheck.ValueMember = "";
        }
            public void Healthset()
            {
                HealthCheckItem h = new HealthCheckItem("用于检查身高。", "身高", 5);
                HealthCheckItem h1 = new HealthCheckItem("用于检查体重。", "体重", 5);
                HealthCheckItem h2 = new HealthCheckItem("用于检查视力。", "视力", 5);
            //绑定套餐列表

                HealthCheckSet sss = new HealthCheckSet();
                sss.TName = "入学体检";
                HealthCheckSet ccc = new HealthCheckSet();
                ccc.TName = "请选择";
                d.Add("请选择",ccc);
                d.Add("入学体检", sss);
                d["入学体检"].Items.Add(h);
                d["入学体检"].Items.Add(h1);
                d["入学体检"].Items.Add(h2);
                BindSet();
                BindDgv();
            }
        /// <summary>
        /// 绑定DGV
        /// </summary>
            public void BindDgv()
            {
                dgvList.AutoGenerateColumns = false;
                dgvList.DataSource = new List<HealthCheckItem>(d[cmbTlist.Text.Trim()].Items);
            }
        public void BindSet()
        {
            //绑定数据
            BindingSource bs = new BindingSource();
            bs.DataSource = d.Keys;
            cmbTlist.DataSource = bs;
            cmbTlist.DisplayMember = "Tname";

        }
        /// <summary>
        /// 显示数据
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void cmbTlist_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (cmbTlist.Text.Trim().Equals("请选择"))
            {
                dgvList.DataSource = null;
                lblName.Text = "";
                lblprice.Text = "";
            }
            else
            {
                lblName.Text = cmbTlist.Text.Trim();
                Calcpriceadd();
                BindItem();
                BindDgv();

            }
        }
        /// <summary>
        /// 给套餐添加项
        /// </summary>
        /// <returns></returns>
        public HealthCheckItem xunhan()
        {
            foreach (var item in AllItems)
            {
                if (cmbcheck.Text.Trim().Equals(item.Name))
                {
                    return item;
                }
            }
            return null;
        }
        /// <summary>
        /// 添加套餐
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnInsert_Click(object sender, EventArgs e)
        {
            if (rox() == true)
            {
                MessageBox.Show("添加成功!");
                d.Add(txtTName.Text.Trim(), new HealthCheckSet());
                BindSet();
                txtTName.Text = "";
            }
            else
            {
                MessageBox.Show("有重复!");
            }

        }
        /// <summary>
        /// 判断套餐是否重复
        /// </summary>
        /// <returns></returns>
        public bool rox ()
        {
            foreach (var item in d.Keys)
            {
                if (txtTName.Text.Trim().Equals(item))
                {
                    return false;
                }
            }
            return true;
        }
        /// <summary>
        /// 添加检查列表
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnInsert1_Click(object sender, EventArgs e)
        {
            if (hel() == true)
            {
                var v = d[cmbTlist.Text.Trim()];
                v.Items.Add(xunhan());
                BindDgv();
                Calcpriceadd();
            }
            else
            {
                MessageBox.Show("有重复!");
            }
        }
        /// <summary>
        /// 是否有重复检查项
        /// </summary>
        /// <returns></returns>
        public bool hel()
        {
            var c = d[cmbTlist.Text.Trim()];
            foreach (var item in c.Items)
            {
                if (item.Name.Equals(cmbcheck.Text.Trim()))
                {
                    return false;
                }
            }
            return true;
        }
        /// <summary>
        /// 按钮
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void cmbcheck_TextChanged(object sender, EventArgs e)
        {
            if (cmbcheck.Text.Equals("请选择"))
            {
                btnInsert1.Enabled = false;
                btndelete.Enabled = false;
            }
            else
            {
                btnInsert1.Enabled = true;
                btndelete.Enabled = true;
            }
        }
        /// <summary>
        /// 删除添加数据
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btndelete_Click(object sender, EventArgs e)
        {
            string name = dgvList.SelectedRows[0].Cells[0].Value.ToString();
            if (dgvList.SelectedRows.Count > 0)
            {
                for (int i = 0; i < d[cmbTlist.Text.Trim()].Items.Count; i++)
                {
                    if (name.Equals(d[cmbTlist.Text.Trim()].Items[i].Name))
                    {
                        DialogResult result = MessageBox.Show("是否删除" + name + "项", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Information);
                        if (result == DialogResult.Yes)
                        {
                            d[cmbTlist.Text.Trim()].Items.RemoveAt(i);
                            BindDgv();
                            Calcpriceadd();
                            MessageBox.Show("删除" + name + "成功");
                            return;
                        }
                    }
                }
            }
            else
            {
                MessageBox.Show("请选择要删除的项!");
            }
        }
    }
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Lesson5_1
{
    public class HealthCheckSet
    {
        public List<HealthCheckItem> Items { get; set; }
        public int TPrice { get; set; }
        public string TName { get; set; }
        //套餐总价格
        public void CalcPrice()
        {
            int totalPrice = 0;
            foreach (var item in Items)
            {
                    totalPrice += item.Price;
            }
             this.TPrice = totalPrice;
        }
        public HealthCheckSet()
        {
            this.Items = new List<HealthCheckItem>();
        }

    }
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Lesson5_1
{
    public class HealthCheckItem
    {
        public string Description { get; set; }
        public string Name { get; set; }
        public int Price { get; set; }
        public HealthCheckItem()
        {

        }
        public HealthCheckItem(string description,string name ,int price)
        {
            this.Description = description;
            this.Name = name;
            this.Price = price;
        }

    }
}
时间: 2024-10-13 14:01:59

第五章课后作业的相关文章

《计算机科学导论》第五章课后作业解答(个人版)

1.计算机由哪三个子系统组成? CPU.主存和输入/输出子系统. 2.CPU由哪几个部分组成? 算术逻辑单元(ALU),控制单元和一系列寄存器. 3.ALU的功能是什么? 算术逻辑单元负责算术.移位和逻辑运算. 4.控制单元的功能是什么? 控制单元控制各个子系统的操作. 5.主存的功能是什么? 存储数据和程序指令. 6.定义RAM.ROM.SRAM.DRAM.PROM.EPROM和EEPROM. 存储器的类型主要有两种:RAM和ROM. RAM:随机存取存储器是计算机中主存的主要部分.可以使用存

java基础(第五章课后作业)02

1 package com.xunhuan; 2 3 public class ZuoYe02 { 4 5 public static void main(String[] args) { 6 int a = 0; 7 int b = 1 ; 8 do { 9 if (b%7==0) {//先判断b取余是不是没有余数,如果没有余数证明是7的倍数 10 a=a+b; //在算出另一个与7的倍数自加的数 11 }b++; 12 } while (b<50); //b小于50 13 System.ou

java基础(第五章课后作业)03

1 package com.xunhuan; 2 3 import java.util.Scanner; 4 5 public class ZuoYe03 { 6 7 8 public static void main(String[] args) { 9 Scanner meng00=new Scanner(System.in); 10 11 12 int mun; 13 int max=0; 14 int min=0; 15 16 //进入do...while循环输出 17 do { 18

第二章 课后作业 2.82,2.90

课后作业:2.90,2.82,3.55,3.62 2.90: A: 格式    SEEEEEEE    EMMMMMMM    MMMMMMMM    MMMMMMMM pi的二进制数表示为:0 10000000 10010010000111111101011, S: 为0,是个正数.       E:为 10000000  转为10进制为128,128-127=1,即实际指数部分为1.       M:为 10010010000111111101011. 这里,在底数左边省略存储了一个1,使用

python程序设计基础(嵩天)第五章课后习题部分答案

第五章p1515.2:实现isodd()函数,参数为整数,如果参数为奇数,返回true,否则返回false.def isodd(s): x=eval(s) if(x%2==0): return False else: return Truex=input("请输入一个整数:")print(isodd(x)) 运行结果: ////////////////////////////////////////////////////////////////////////////////////

《计算机科学导论》第四章课后作业解答(个人版)

1.逻辑运算和算术运算有什么区别? 算术运算就是平常我们所用的加减乘除,而逻辑运算是在二进制位上进行非.与.或和异或运算,逻辑运算中的二进制位只有两种状态:0(假)和1(真),结果中的二进制位也只有这两种状态. 4.解释“溢出”这个词. 当我们进行计算机数字中的算术运算时,要记住每个数字和结果应该在分配的二进制位的定义范围之内.若计算结果无法用被分配的二进制位数来正确表示时,该结果出现溢出. 5.在浮点数的加法运算中,怎样调整指数不同的数的表示方法? 在运算中先以某个数的指数为标准,通过去规范化

第五周课后作业——适用于人工智能的visual studio 的创新分析

个人觉得作业布置的(2)(3)(4)(5)的顺序并不合理,我将以(5)(2)(3)(4)的顺序开展我的分析. 创新的定义是做出一些改变或创造出新的东西,既是过程,也是结果.这是一个很泛的概念,所以去问究竟什么是创新?怎么才能创新?如何成为创新者?其实意义并不大,因为随随便便开一个脑洞,按照定义,都是创新.有意义的问题应该是,究竟什么是好的创新?怎么才能做出好的创新?如何成为一名优秀的创新者?     在开始分析之前,应该界定的概念是,创新分为颠覆式的创新,和改良式的创新.比如说在电报时期,如果你

第五章课后习题

1.团队模式和团队的开发模式有什么关系? 答: 首先我来解释一下这两个名词: 我查资料了解了一下,团队模式,更偏向于多人合作的那种,而且我理解的"团队"会是一种多人合作的情况下,长期磨合后的一个组织,他们是相互了解的,是拥有巨大的默契存在的. 对于团队的开发模式我并没有查到具体的解释,但对于开发模式,是有查到几种开发模式,比如瀑布开发模式.快速应用开发模式等等,我们在其他的课上有学过这些模式,所以我在这里认为开发模式是更偏向于后边的"模式"两个字的,更注重方法,用什

第五章课后题

1.团队模式和团队的开发模式有什么关系?答: 首先来解释一下这两个名词: 我查资料了解了一下,团队模式,更偏向于多人合作的那种,而且我理解的"团队"会是一种多人合作的情况下,长期磨合后的一个组织,他们是相互了解的,是拥有巨大的默契存在的. 对于团队的开发模式我并没有查到具体的解释,但对于开发模式,是有查到几种开发模式,比如瀑布开发模式.快速应用开发模式等等,我们在其他的课上有学过这些模式,所以我在这里认为开发模式是更偏向于后边的"模式"两个字的,更注重方法,用什么方