我之前想过用窗体做这个关于运算程序出来,因为那样可以让用户更加一目了然,更加方便的使用。但是一直在研究了好久之后,发现不知道该怎么样让用户在点击+-*/按钮的时候能够自动列出算式以及自动运用于计算。所以最终还是选择了用控制台应用程序来做。

这个程序大概是可以应用于小学,让低年级的小学生自己在电脑上做作业,既能够开发学生的思维,也可以借助小学生对电脑的兴趣来让他们对学习动脑更加努力。

设计思路大概就是运用之前学过树上的加法随机数运算,改变运算的规律,算法。运用计算机的计算功能以及if.else语句i++的功能来实现对错多少道题,想来这样做是可以的,所以就做了这个程序。以下为程序测试图和代码以及PSP分析图:

测试图如下:

具体代码如下:

 using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace 加减乘除运算
{
    class Program
    {
        static void Main(string[] args)
        {   /*程序运行,输出1234键选择算法。
            计算完毕提示对错后,随机按“1-9键”后按“空格”重新开始下一次计算
             却全部计算完毕,在提示对错后直接按“空格”即可显示出对错题数。*/
            int 正确 = 0;
            int 错误 = 0;
            do
            {
                Console.WriteLine("输入1进行加法运算,输入2进行减法运算,输入3进行乘法运算,输入4进行除法运算");
               
                Random num = new Random();
                int a = num.Next(0, 11);
                int b = num.Next(0, 11);
                int c = num.Next(0,a+1);
                string A=Console.ReadLine();
                switch(A)
                {
                    case "1":
                    Console.WriteLine("{0}+{1}=?请输入答案", a, b);
                    int a加b = Convert.ToInt32(Console.ReadLine());
                    if (a加b == a + b)
                    {
                        Console.WriteLine("你算对了!点赞");
                        正确++;
                    }else
                    {
                        Console.WriteLine("你算错了!加油");
                        错误++;
                    }break;
                    case"2":
                    Console.WriteLine("{0}-{1}=?请输入答案,", a, c);
                    int a减c = Convert.ToInt32(Console.ReadLine());
                    if (a减c == a - c)
                          { 
                             Console.WriteLine("你算对了!点赞");
                             正确++;
                          }
                          else
                          {
                              Console.WriteLine("你算错了!加油");
                              错误++;
                          }break;
                    case"3":
                    Console.WriteLine("{0}*{1}=?请输入答案,", a, b);
                    int a乘b = Convert.ToInt32(Console.ReadLine());
                    if (a乘b == a * b)
                          { 
                             Console.WriteLine("你算对了!点赞");
                             正确++;
                          }
                          else
                          {
                              Console.WriteLine("你算错了!加油");
                              错误++;
                          }break;
                    case"4":
                    Console.WriteLine("{0}/{1}=?请输入答案,", a, b);
                    int a除b = Convert.ToInt32(Console.ReadLine());
                    if (a除b == a / b)
                          { 
                             Console.WriteLine("你算对了!点赞");
                             正确++;
                          }
                          else
                          {
                              Console.WriteLine("你算错了!加油");
                              错误++;
                          }break;
                }
            } while (Console.ReadLine() != "您输入的格式不正确,请审核后输入");
            Console.WriteLine("你一共答了{0}道题,正确:{1}.错误{2}", 正确 + 错误, 正确, 错误);
            Console.ReadLine();
        }
    }
}
PSP耗时分析如下:
思考题:只要要将下图中的“11”改为“101”即可:
总结:以前都是照着书上的代码去打,这次自己第一次一个人做一个程序去让它运行成功,天知道运行成功那一刻我的心里是多么开心,努力终于得到了回报。可是程序终究不是很完美,减法的被减数减数问题解决了,但是除法的余数问题还是没有解决。思考题简单,但是附加题还是没有做出来。快到交作业的时间了,还是交上把!做这个一共用了大概+起来有20个小时,可能是我学的不太好的原因,比别人用的时间多出太多,中间VS2010也提示过很多错误,刚开始的时候看到这么多错误我一度想过放弃,最终还是一个一个的改正了过来,主要还是自己对于计算机语言的不精通,我想克服这些困难,以后我要更努力的学习,再也不让这些语言问题成为我的阻碍。另外希望以后可以再次感受到那种成功时开心的心情。感谢牛老师给了我们这样的机会。