zoukankan      html  css  js  c++  java
  • 第18周冲刺

    1.计划

    估计需要一周

    2.需求分析

    作为一名排球比赛的现场工作人员,我希望能精确统计每一名队员的得分及技术统计,以便颁发每场比赛最有价值球员奖,以及确定赛会的最佳阵容

    3.设计文档

    当用户进入程序时,可以看到以往队员的分数,和得分类型。可以输入球衣号,或者姓名,查询球员信息。或者点击最佳MVP按钮,会按得分高低排列,得分最高的为mvp,或者点击最佳阵容,会在文本区域显示本场最佳阵容。双击表格,可以删除所选的表格。点击编辑球员信息按钮,可以编辑球员信息。

    >界面设计

     

     活动图

     具体代码:

    main.cs

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using System.Data.SqlClient;

    namespace 排球程序
    {
        public partial class Main : Form
        {
            public Main()
            {
                InitializeComponent();
            }

            private void Form1_Load(object sender, EventArgs e)
            {
                // TODO: 这行代码将数据加载到表“volleyDataSet.Score”中。您可以根据需要移动或删除它。
                this.scoreTableAdapter.Fill(this.volleyDataSet.Score);
                DataGridView1DateLoad();

            }
            private void DataGridView1DateLoad(string sql = "select * from Score")
            {
                SqlConnection con = new SqlConnection("Data Source=.;Initial Catalog=Volley;Integrated Security=True");
                SqlDataAdapter adapter = new SqlDataAdapter(sql,con);
                DataSet ds = new DataSet();
                con.Open();
                adapter.Fill(ds);
                con.Close();
                dataGridView1.DataSource=ds.Tables[0];
            }

            private void butMVP_Click(object sender, EventArgs e)
            {
               
                StringBuilder sql = new StringBuilder("Select * from Score order by score desc");
                
                
                DataGridView1DateLoad(sql.ToString());

            }

            private void buttonSelect_Click(object sender, EventArgs e)
            {
                string id = textBoxId.Text.Trim();
                string name = textBoxName.Text.Trim();
                StringBuilder sql = new StringBuilder("Select * from Score where 1=1");
                if (!string .IsNullOrEmpty(id))
                {
                    sql.Append(" and id="+id);
                }
                if (!string .IsNullOrEmpty(name))
                {
                    sql.Append(" and name like '%"+name+"%'");
                }
                DataGridView1DateLoad(sql.ToString());
            }

            private void butTeamer_Click(object sender, EventArgs e)
            {
                StringBuilder sql = new StringBuilder("Select * from Score where scorestyle='拦网'or scorestyle='发球' or scorestyle='扣球'order by score desc");
                DataGridView1DateLoad(sql.ToString());
            }

             private void dataGridView1_CellContentDoubleClick(object sender, DataGridViewCellEventArgs e)
            {
                DialogResult result = MessageBox.Show("确定删除数据?","确定删除",MessageBoxButtons.OKCancel);
                if (result==DialogResult.OK)
                {
                    int id = Convert.ToInt32(dataGridView1.Rows[e.RowIndex].Cells[0].Value);
                    SqlConnection con = new SqlConnection("Data Source=.;Initial Catalog=Volley;Integrated Security=True");
                    string sql = " delect Score where id=" + id;
                    SqlCommand cmd = new SqlCommand(sql,con);
                    con.Open();
                    cmd.ExecuteNonQuery();
                    con.Close();
                    DataGridView1DateLoad();
                }
                
            }

             private void buttonEdit_Click(object sender, EventArgs e)
             {
                 Edit E = new Edit();
                 E.Show();
                 this.Hide();
             }

            
        }
    }

    Edit.cs

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using System.Data.SqlClient;

    namespace 排球程序
    {
        public partial class Edit : Form
        {
            public Edit()
            {
                InitializeComponent();
            }

            private void buttonClear_Click(object sender, EventArgs e)
            {
                textBoxId.Text = "";
                textBoxName.Text = "";
                textBoxScore.Text = "";
                textBoxScorestyle.Text = "";
                textBoxTeam.Text = "";
            }

            private void buttonCofirm_Click(object sender, EventArgs e)
            {
                string id = textBoxId.Text.Trim();
                string name = textBoxName.Text.Trim();
                string team = textBoxTeam.Text.Trim();
                string score = textBoxScore.Text.Trim();
                string scorestyle = textBoxScorestyle.Text.Trim();
                if (string .IsNullOrEmpty(id)||(string .IsNullOrEmpty(name)||(string .IsNullOrEmpty(team))||(string .IsNullOrEmpty(scorestyle))||(string .IsNullOrEmpty(score))))
                
                {
                    MessageBox.Show("球衣号,姓名,队伍,得分,得分类型都不能为空");
                }
                else
               {
                   SqlConnection con=new SqlConnection ("Data Source=.;Initial Catalog=Volley;Integrated Security=True") ;
                    string sql=string .Format(" insert into Score value('{0}','{1}','{2}','{3}','{4}')",id,name,team,score,scorestyle);
                    SqlCommand cmd=new SqlCommand (sql,con);
                    con.Open();
                    int count=cmd.ExecuteNonQuery();
                    con.Close();
                    if (count>0)
                   {
                      MessageBox.Show("插入队员数据成功");
                   }
                    this.Close();
               }
            }
        }
    }

    代码复审:

    暂未发现错误

    测试:

    查询功能块能够使用,编辑功能块能够使用,删除功能块可以使用

    事后总结:我发现算法很重要,就像mvp的算法,我用的是得分排列的从高到低,得分最高的是第一个,也就是mvp,但是这种算法毕竟太简单了,也不太符合现实生活的情况,以后要多多学习算法。

     

  • 相关阅读:
    kernel 单独编译模块
    Python实现图的经典DFS、BFS、Dijkstra、Floyd、Prim、Kruskal算法
    Python实现BFS和DFS
    dpdk 20.02 igb_uio.ko 编译
    Kubernetes 文档
    controller-runtime/FAQ.md
    kubebuilder2.0学习笔记——进阶使用
    cloud-init 导致虚拟机启动太慢
    关闭 cloud-init 服务
    centos7 安装 docker calico
  • 原文地址:https://www.cnblogs.com/shiyufan/p/6257785.html
Copyright © 2011-2022 走看看