• 第二次PSP


    1、计划

        五天左右

    2、需求分析

         作为一个排球教练的助手,我需要统计本队每名球员在球场各个技术动作的发挥情况,每个队员的技术习惯,以便教练员即时指导比赛,并作为以后球员训练的依据

    3、生成设计文档

          输入本次比赛人员名单,然后根据比赛情况统计队员的技术动作、习惯,最后保存为txt文档

    4、设计复审

            和同学讨教,最后精简了一点设计

    5、代码规范

         Visual Studio 2010

    6、具体设计

    7、具体编码

    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.Management;

    using System.IO;

    namespace 排球

    {

        public partial class ZhouShou : Form

        {

            public ZhouShou()

            {

                InitializeComponent();

            }            

            }

            private void ZhouShou_Load(object sender, EventArgs e)

            {

               //加载时首先显示输入队员名称的groupBox

                groupBox1.Visible = true;

                groupBox2.Visible = false;

            }

          //单击确定按钮时,隐藏输入界面,显示统计界面   

     private void btnOK_Click(object sender, EventArgs e)

            {

                string ZhuGong111 = txtZhuGong1.Text;

                string ZhuGong222 = txtZhuGong2.Text;

                string FuGong111 = txtFuGong1.Text;

                string FuGong222 = txtFuGong2.Text;

                string JieYing111 = txtJieYing.Text;

                string ErChuan111 = txtErChuan.Text;

                string ZiYouRen111 = txtZiYouRen.Text;

                    //判断文本框是否都有输入队名,,如果其中一个文本框为空就提示错误信息

                if (string.IsNullOrEmpty(ZhuGong111)) { MessageBox.Show("请输入本场比赛的主攻手一"); }

                else if (string.IsNullOrEmpty(FuGong111)) { MessageBox.Show("请输入本场比赛的副攻手一"); }

                else if (string.IsNullOrEmpty(ZhuGong222)) { MessageBox.Show("请输入本场比赛的主攻手二"); }

                else if (string.IsNullOrEmpty(FuGong222)) { MessageBox.Show("请输入本场比赛的副攻手二"); }

                else if (string.IsNullOrEmpty(JieYing111)) { MessageBox.Show("请输入本场比赛的接应"); }

                else if (string.IsNullOrEmpty(ErChuan111)) { MessageBox.Show("请输入本场比赛的二传"); }

                else if (string.IsNullOrEmpty(ZiYouRen111)) { MessageBox.Show("请输入本场比赛的自由人"); }

                else

                {//如果都输入就显示groupBox2,隐藏groupBox1

                    groupBox1.Visible = false;

                    groupBox2.Visible = true;

                    linkZhuGong1.Text = ZhuGong1.Text + txtZhuGong1.Text;

                    linkFuGong1.Text=FuGong1.Text+txtFuGong1.Text;

                    linkZhuGong2.Text = ZhuGong2.Text + txtZhuGong2.Text;

                    linkFuGong2.Text = FuGong2.Text + txtFuGong2.Text;

                    linkJieYing.Text = JieYing.Text + txtJieYing.Text;

                    linkErChuan.Text = ErChuan.Text + txtErChuan.Text;

                    linkZiYouRen.Text = ZiYouRen.Text + txtZiYouRen.Text;

                }

     //单击任一个linklabel时,label就显示为linklabel 的值,    

     private void linkFuGong1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)

            {

                lblName.Text = linkFuGong1.Text;

            }

            private void linkZhuGong2_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)

            {

                lblName.Text = linkZhuGong2.Text;

            }

           private void linkZhuGong1_LinkClicked_1(object sender, LinkLabelLinkClickedEventArgs e)

            {

                lblName.Text = linkZhuGong1.Text;

            }

            private void linkFuGong2_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)

            {

                lblName.Text = linkFuGong2.Text;

            }

            private void linkJieYing_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)

            {

                lblName.Text = linkJieYing.Text;

            }

            private void linkErChuan_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)

            {

                lblName.Text = linkErChuan.Text;

            }

            private void linkZiYouRen_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)

            {

                lblName.Text = linkZiYouRen.Text;

            }

    //当单击相应的按钮时,就将所选队员名字和得分或失误次数添加到defen文本框内      

            int i = 0;

            private void button1_Click(object sender, EventArgs e)

            {

                 i++;

                 txtFen.AppendText = lblName.Text + button1.Text + " " + i;

            }

            int FQ = 0;

            private void btnFaQiu_Click(object sender, EventArgs e)

            {

                FQ++;

                txtFen.AppendText(lblName.Text+btnFaQiu.Text+" "+FQ);        }

            int KQ=0;

            private void btnKouQiu_Click(object sender, EventArgs e)

            {

                KQ++;

                txtFen.AppendText(lblName.Text + btnKouQiu.Text + " " + KQ);

            }

            int CW=0;

            private void btnChouWang_Click(object sender, EventArgs e)

            {

                CW++;

                txtFen.AppendText(lblName.Text + btnChouWang.Text + " " + CW);

            }

            int DQ = 0;

            private void btnDiaoQiu_Click(object sender, EventArgs e)

            {

                DQ++;

                txtFen.AppendText(lblName.Text + btnDiaoQiu.Text + " " + DQ);

            }

            int LWCJ = 0;

            private void btnLWChuJie_Click(object sender, EventArgs e)

            {

                LWCJ++;

                txtFen.AppendText(lblName.Text + btnLWChuJie.Text + " " + LWCJ);

            }

            int FQSW = 0;

            private void btnFaQiuShiWu_Click(object sender, EventArgs e)

            {

                FQSW++;

                txtFen.AppendText(lblName.Text + btnFaQiuShiWu.Text + " " + FQSW);

            }

            int KQCJ = 0;

            private void btnKouQiuChuJie_Click(object sender, EventArgs e)

            {

                KQCJ++;

                txtFen.AppendText(lblName.Text + btnKouQiuChuJie.Text + " " + KQCJ);

            }

    //保存

            private void lastOK_Click(object sender, EventArgs e)

            {

                FileStream fs = new FileStream("C:\file.txt", FileMode.OpenOrCreate, FileAccess.Write);

                StreamWriter m_streamWriter = new StreamWriter(fs);

                m_streamWriter.Flush();  

                m_streamWriter.BaseStream.Seek(0, SeekOrigin.Begin);

                m_streamWriter.Write(txtFen.Text);

                m_streamWriter.Close();

                MessageBox.Show("保存成功!");

                groupBox2.Visible = false;

                groupBox1.Visible = true;

            }

        }

    }

     

    8、代码复审
          功能基本实现,无错 

    9、测试
           
    文本框值为空时弹出对话框:

    输入完毕点击确定后:

    保存时:

     

    10、测试报告
         能实现的功能基本已被实现

    11、计算工作量
            比预算少了一天

    12、事后总结 

       C#学的不是很好,很多东西还需要自己去扩展,比如,就目前而言,在输入队员名称时,需要限制文本框只能输入中文我还是无法实现

  • 相关阅读:
    Python-append()/extend()
    HTML标签
    字符实体
    css选择器
    边框属性
    背景属性
    文本属性
    字体属性
    给标签起名字
    JS数据类型
  • 原文地址:https://www.cnblogs.com/yeting9603/p/6255130.html
Copyright © 2020-2023  润新知