第三次作业

    用户需求:

 能对0--10之间的整数进行四则运算的“软件”
程序能接收用户输入的整数答案,并判断对错
程序结束时,统计出答对、答错的题目数量。
说明:0——10的整数是随机生成的
用户可以用键盘输入来选择四则运算中的一种
用户用键盘输入一个字符来结束程序的运行并显示统计结果

增量内容:
             显示倒计时
            用户可以选择哪种计算类型,比如加减乘除,或可选择软件随机生成四则运算中的一种。

    设计思路:

使用四个 +   -  *   /     按钮来让用户定义计算的方法,使用结束按钮跳出统计界面,其中按Enter进入下一题。

 

 

 

 

代码实现:

  1 namespace 计算器
  2 {
  3     public partial class Form1 : Form
  4     {
  5         public static int Count = 0;
  6         private int t = 60;
  7         public static int right = 0;
  8         public static int fault = 0;
  9 
 10         public Form1()
 11         {
 12             InitializeComponent();
 13         }
 14 
 15        
 16         private void button1_Click(object sender, EventArgs e)
 17         {
 18             label2.Text = "+";
 19       
 20         }
 21 
 22         private void button2_Click(object sender, EventArgs e)
 23         {
 24             label2.Text = "-";
 25            
 26         }
 27         private void button3_Click(object sender, EventArgs e)
 28         {
 29             label2.Text = "*";
 30            
 31         }
 32         private void button4_Click(object sender, EventArgs e)
 33         {
 34             label2.Text = "/";
 35             
 36         }
 37 
 38         private void RandomNum()
 39         {
 40             Random ran = new Random();
 41             int n1, n2;
 42             n1 = ran.Next(0, 11);
 43             n2 = ran.Next(1, 11);
 44             textBox1.Text = n1.ToString();
 45             textBox2.Text = n2.ToString();
 46             textBox3.Text = "";
 47             Count++;
 48         }
 49         private void button6_Click(object sender, EventArgs e)
 50         {
 51             textBox3.Enabled = false;
 52             MessageBox.Show("总题目数为:" + Count + "   " + "正确个数为:" + fault + "   "+"错误个数为:"+(Count -fault ));
 53 
 54         }
 55         private void textBox3_KeyDown(object sender, KeyEventArgs e)
 56         {          
 57             int m;
 58             if (e.KeyCode == Keys.Enter)
 59             {
 60                 switch (label4.Text)
 61                 {
 62                     case "+":
 63                         m = int.Parse(textBox2.Text) + int.Parse(textBox3.Text);
 64                         break;
 65                     case "-":
 66                         m = int.Parse(textBox2.Text) - int.Parse(textBox3.Text);
 67                         break;
 68                     case "*":
 69                         m = int.Parse(textBox2.Text) * int.Parse(textBox3.Text);
 70                         break;
 71                     default:
 72                         m = int.Parse(textBox2.Text) / int.Parse(textBox3.Text);
 73                         break;
 74                 }
 75                 if (textBox3.Text == Convert.ToString(m))
 76                 {
 77                     right++;
 78                     RandomNum();
 79                 }
 80                 else
 81                 {
 82                     fault++;
 83                     RandomNum();
 84                 }
 85             }
 86         }
 87         private void button5_Click(object sender, EventArgs e)
 88         {
 89             label4.Text = t.ToString();
 90             timer1.Enabled = true;
 91             timer1.Interval = 1000;
 92             timer1.Start();
 93             RandomNum();
 94         }
 95         private void timer1_Tick(object sender, EventArgs e)
 96         {
 97             if (t <= 0)
 98             {
 99                 timer1.Enabled = false;
100                 textBox3.Enabled = false;
101                 MessageBox.Show("时间到!!!");
102                 textBox3.Enabled = false;
103               
104             }
105             t = t - 1;
106             label4.Text = t.ToString();
107         }
108 
109         private void label2_Click(object sender, EventArgs e)
110         {
111             
112         }
113 
114         private void Form1_Load(object sender, EventArgs e)
115         {
116 
117         }
118 
119         private void label1_Click(object sender, EventArgs e)
120         {
121 
122         }
123 
124         private void label3_Click(object sender, EventArgs e)
125         {
126 
127         }
128     }
129 
130 }

 

增加了用户选择运算法则的四个按钮,增加了倒计时,

但是对于用户输入倒计时、分母为零的情况(直接1——11避开0的情况了)、以及用户输入错误符号处理等都没有实现。

 

 PSP耗时:

     
planning 计划 2天
estimate 估计这个任务需要时长 2天
development 开发  
analysis 需求分析 1小时
Design Spec 生成设计文档 2小时
Design Review   设计复审 半小时
Coding Standard 代码规范 1小时
Design 具体设计 20分钟
Coding 具体代码 2小时
Code  Review 代码复审 20分钟
Test 测试 10分钟
Repoting 报告 5分钟
Test Report 测试报告 20分钟
Size Measurement 计算工作量 6小时
     
     
     

 

 

 

总结:在室友帮助下我们两个终于完成了作业 虽然有些功能很难实现 但还是学到很多东西 继续加油。

posted on 2015-10-18 22:42  朱华建  阅读(264)  评论(1编辑  收藏  举报

导航