• 数学四则运算(一)基本代码


    一 需求分析

           本次老师为我们出了一道四则运算的程序题目,那么接下来,我首先谈谈这个程序的需求分析。四则运算,数字在1-10,可以想到本程序的适用对象为小学一年级到三年级(自我感觉,并不排除其他年级 )主要需求可能会出现在学校,家庭和教育机构还有部分教学网站上面,因为他们可能会给学生出一些简单的数学题目,而这一程序正好解决了这一个问题,我想,产品的需求必须首先知道用户需要什么,要以客户为中心。而这个产品正好解决了这个问题。所以,我感觉这个产品的需求应该挺不错的。

    二 设计思路

      用户第一步必须先选择一种可行的运算方式,这个事件的实现采用了下拉列表的方式 ,感觉这个方法比较便捷,用户操作方便,且可读性较强

      2 系统会自动产生两个随机1-10数字,采用randnum的方式

      随机数字产生之后,我们就要计算这两个数字,为了方便调用函数,我们采用switch....case的方式,以便减少代码的数量。

       4.当此题目运算完毕后,用户如果单击下一题,那么我们会进行下一题的计算,并且执行运算方法的调用。如果用户单击结束时,则会弹出 题目的总数量,正确数量,错误数量,正确率等,且不能对运算窗体进行操作。

    四 PSP分析

    五  代码书写

     Form1代码:
      2 
      3 
      4 using System;
      5 using System.Collections.Generic;
      6 using System.ComponentModel;
      7 using System.Data;
      8 using System.Drawing;
      9 using System.Linq;
     10 using System.Text;
     11 using System.Windows.Forms;
     12 
     13 namespace sizeyunsuan
     14 {
     15 public partial class Form1 : Form
     16 {
     17 public static int count = 0; //定义题目总数,正确数,四则运算的变量
     18 public static int right = 1;
     19 public static int sum;
     20 public Form1()
     21 {
     22 InitializeComponent();
     23 }
     24 
     25 private void Form1_Load(object sender, EventArgs e)
     26 {
     27 
     28 }
     29 private void RandomNum() //定义随机产生随机数的方法
     30 {
     31 Random ran = new Random();
     32 int n1, n2;
     33 n1 = ran.Next(1, 11);
     34 n2 = ran.Next(1, 11);
     35 textBox1.Text = n1.ToString();
     36 textBox2.Text = n2.ToString();
     37 textBox3.Text = "";
     38 count++;
     39 
     40 }
     41 
     42 private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) //定义调换四则运算的方法
     43 {
     44 
     45 string str = comboBox1.SelectedItem.ToString();
     46 RandomNum();
     47 switch (str)
     48 {
     49 case "加法":
     51 sum = int.Parse(textBox1.Text) + int.Parse(textBox2.Text);
     52 break;
     53 case "减法":
     54 sum = int.Parse(textBox1.Text) -int.Parse(textBox2.Text);
     55 break;
     56 case "乘法":
     57 sum = int.Parse(textBox1.Text) *int.Parse(textBox2.Text);
     58 break;
     59 case "除法":
     60 sum = int.Parse(textBox1.Text) / int.Parse(textBox2.Text);
     61 break;
     62 default:
     63 break;
     65 }
     66 }
     67 private void button3_Click(object sender, EventArgs e) //题目正确数量的相加和随机数调用
     68 {
     69 
     70 if (textBox3.Text == sum.ToString())
     71 {
     72 right++;
     73 RandomNum();
     74 }
     75 else
     76 {
     77 RandomNum();
     78 }
     79 
     80 
     81 }
     82 
     83 private void button2_Click(object sender, EventArgs e) //单击结束时的具体事件
     84 {
     85 
     86 textBox3.Enabled = false;
     87 Form2 frm2 = new Form2();
     88 frm2.ShowDialog();
     89 this.Close();
     90 
     91    } 
     92  }
     93 }
     94 
     95 
     96 

    Form2代码: 99 using System; 100 using System.Collections.Generic; 101 using System.ComponentModel; 102 using System.Data; 103 using System.Drawing; 104 using System.Linq; 105 using System.Text; 106 using System.Windows.Forms; 107 108 namespace sizeyunsuan 109 { 110 public partial class Form2 : Form 111 { 112 public Form2() 113 { 114 InitializeComponent(); 115 } 116 117 private void Form2_Load(object sender, EventArgs e) 118 { 119 textBox1.Text = Form1.count.ToString(); 120 textBox2.Text = Form1.right.ToString(); 121 textBox3.Text = ((Form1.right / (double)(Form1.count)) * 100).ToString() + "%"; 122 textBox4.Text = ((Form1.count -(double)(Form1.right)) ).ToString(); 123 } 124 } 125 }

     

    六 代码测试

    七  总结

     这个算是自己做的第一个小程序吧,现在对做这个程序的总结和感想对大家说一下吧。

       做程序的过程当中遇到过许多困难,我一个上午做了几个版本的程序,都有一定的问题,到中间环节有的感觉做不下去了,但是经过分析,查阅资料,还是慢慢的克服了。中间的许多方法来自于课本上所讲的内容,我尽我最大的努力把一些问题修复了,但是我在最后还是发现了一些问题,实在找不出原因了,中间的测试好像也有点问题。(哈哈  也许脑子太笨了,一时短路吧。)不过,这些问题我一定会改正的!

     接下来是我对做程序这一个过程的总结:

    1.一定要事先做好计划,可以说是对整个程序的设计分析,否则,到后来会有许多麻烦,甚至有可能会重做!

    2.做事要有耐心,敲代码是件枯燥的工程,我们一定要用耐心,恒心,克服它。

    3.缺乏练习,实战能力差,今后会加强练习的。

    3.基础知识比较欠缺,还得努力学习基础知识。

    ...........

    这就是程序做的整个过程了,希望老师批评指正吗!谢谢啦!

  • 相关阅读:
    memcached 在windows下安装及启动
    细说 ASP.NET Cache 及其高级用法
    asp.net MVC helper 和自定义函数@functions小结
    log4net 总结
    紧跟时代步伐,让我们拥抱MVC 3
    关于node-sass安装失败的解决办法
    table自适应
    获取select选中的值
    省市三级联动
    git bush 代码提交
  • 原文地址:https://www.cnblogs.com/wyh19941210/p/4846829.html
Copyright © 2020-2023  润新知