zoukankan      html  css  js  c++  java
  • 简易四则运算

            题目:编写一个能对0--10之间的整数进行四则运算的“软件”
                  程序能接收用户输入的整数答案,并判断对错
                  程序结束时,统计出答对、答错的题目数量。

    using System; 

    using System.Collections.Generic;

    using System.Linq;

    using System.Text;

    namespace Simple_arithmetic //简易四则运算

    {    

    class Program   

      {        

           static void Main(string[] args)

            {      

                 Console.WriteLine("请输入您想做的运算: ");

                 Console.WriteLine("输入 【+】 表示加法");

                 Console.WriteLine("输入 【-】 表示减法");

                 Console.WriteLine("输入 【*】 表示乘法");  

                 Console.WriteLine("输入 【/】 表示除法");  

                 Console.WriteLine("输入【 -1】表示结束");

                 Console.WriteLine("====================");

             

                //首先声明

                string opt = Console.ReadLine();

                switch (opt)   //使用switch语句  

               {      

                      case "+": 

                          Opp.Add(); 

                          break;

                       case "-":

                           Opp.Sub(); 

                            break;

                       case "*":

                          Opp.Mul();

                          break;  

                       case "/":  

                         Opp.Div();

                         break;

                }  

               Console.Read();     

        }   

      }

       public delegate double Num(double x, double y);//定义委托
        public class SimpleMath
        {
            public static double Add(double x, double y)
            { return x + y; }
            public static double Sub(double x, double y)
            { return x - y; }
            public static double Mul(double x, double y)
            { return x * y; }
            public static double Div(double x, double y)
            { return x / y; }
        }

         public class Opp

        {

              public static int fault = 0;

              public static int right = 0;

              public static void Add()//加法,实现加法功能

            {

                  double sum, op;

                Random p = new Random();

                double x = p.Next(0, 10);

                double y =p.Next(0, 10);

                sum = x + y;

                Console.WriteLine("{0}+{1}=", x, y);

                Console.WriteLine("请输入结果:");

                op = double.Parse(Console.ReadLine());

                Num um = new Num(SimpleMath.Add);

                Console.WriteLine("正确结果是:");  

               Console.WriteLine("{0}+{1}={2}", x, y, um(x, y));

                if (sum == op)  

               {   

                  Console.WriteLine("您的结果正确!");  

                       fault++;                                                                                                                        
                       right++;

                        Add();

                }

                else if (op == -1)

                {

                    end();

                }

                 else

                {

                    Console.WriteLine("您的结果错误!");  

                        fault++;

                        Add();

                }

            }

            public static void end()

            {

                Console.WriteLine("您已退出计算!您共做{0}道题,答对{1}", fault, right);

            }

            public static void Sub()//减法,实现减法功能

            {

                double jan, op;

                Random p = new Random();

                double x =p.Next(0, 10);

                double y = p.Next(0, 10);

                jan = x - y;

                Console.WriteLine("{0}-{1}=", x, y);

                Console.WriteLine("请输入结果:");

                op = double.Parse(Console.ReadLine());

                Num um = new Num(SimpleMath.Sub);

                Console.WriteLine("正确结果是:");

                Console.WriteLine("{0}-{1}={2}", x, y, um(x, y));

                if (jan == op)

                {

                    Console.WriteLine("您的结果正确!");

                    fault++;

                    right++;

                    Add();

                }

                else if (op == -1)

                {

                    end();

                }

                else

                {

                    Console.WriteLine("您的结果错误!");

                       fault++;

                        Sub();

                }

         }

                public static void Mul()//乘法,实现乘法功能

            {

                double cen, op;

                Random p = new Random();

                double x = p.Next(0, 10);

                double y = p.Next(0, 10);

                cen = x * y;

                Console.WriteLine("{0}*{1}=", x, y);

                Console.WriteLine("请输入结果:");

                op = double.Parse(Console.ReadLine());

                Num um = new Num(SimpleMath.Mul);

                Console.WriteLine("正确结果是:");

                Console.WriteLine("{0}*{1}={2}", x, y, um(x, y));

                if (cen == op)

                {

                    Console.WriteLine("您的结果正确!");

                    fault++;

                    right++;

                    Add();

                 }

                   else if (op == -1)

                {

                    end();

                }

                  else

                {

                    Console.WriteLine("您的结果错误!");

                    fault++;

                    Mul();

                }

            }

                 public static void Div()//除法,实现除法功能
            {
                double chu, op;
                Random p = new Random();
                double x = p.Next(0, 10);
                double y = p.Next(0, 10);
                chu = x / y;
                Console.WriteLine("{0}/{1}=", x, y);
                Console.WriteLine("请输入结果:");
                op = double.Parse(Console.ReadLine());
                Num um = new Num(SimpleMath.Div);
                Console.WriteLine("正确结果是:");
                Console.WriteLine("{0}/{1}={2}", x, y, um(x, y));
                if (chu == op)
                {
                    Console.WriteLine("您的结果正确!");
                    fault++;
                    right++;
                    Add();
                }
                else if (op == -1)
                {
                    end();
                }
                else
                {
                    Console.WriteLine("您的结果错误!");
                    fault++;
                    Div();
                }
            }
        }
    }

          

          

           PSP分析表

          

       《1》 需求分析:

          刚开始设计时,按照要求来做的,没有考虑太多。结果总是出错,并且测试起来 ,不像是一个“智能化”的小程序。

          后来回想,老师以前说过,做程序要站在用户角度考虑,以用户的身份去设计、分析。这样才能做得相对比较完整。

       《2》 具体设计思路:

          这个程序做了两遍,刚开始是用窗体做的。先前老师让我们做过类似的例子。结果越做越糟,总是出错。然后我就用

          控制台来做的。通过翻查教材,运用了一直不太能熟练掌握的委托和一些循环语句。中间还有我朋友的指导(他学的比我好

         通过和他的讨论,到代码的具体实现。感觉自己进步了许多

       《3》思考:

             通过这次的测试,感觉自己的逻辑思维仍有欠缺。一些简单的语句,需要仔细思考。才能够想明白,与其他同学的差距

             仍需要努力才能拉低。不过这次还是有不小的收获的!

          

      
            

  • 相关阅读:
    python--io多路复用之select实现
    python--基于socket网络编程
    python--面向对象编程之学生选课系统练习
    python--异常处理
    python--面向对象之三个特性:封装、继承、多态
    python--反射机制
    python--生成器和迭代器
    elasticsearch 创建索引
    elasticsearch 集群搭建
    linux 安装Mosquitto
  • 原文地址:https://www.cnblogs.com/harlem/p/4852521.html
Copyright © 2011-2022 走看看