结对项目-四则运算

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了结对项目-四则运算相关的知识,希望对你有一定的参考价值。

项目:四则运算

结对伙伴:杜桥

功能:四则运算随机出题,并判断答案是否正确(只实现了正整数运算);

实现:用c#实现,用random.Next()完成随机部分,然后通过判断来检查答案是否正确;

Https:https://git.coding.net/li_yuhuan/CalculateTest.git

SSH:[email protected]:li_yuhuan/CalculateTest.git

代码:

            int v1;
            int v2;
            int a;
            char op;
            char[] ops = new char[]{ +, -, *, /,/};
for (int i = 0; i < 10; i++)
            {
                v1 = ran.Next(1, 20);
                v2 = ran.Next(1, 20);
                op = ops[ran.Next(3)+ ran.Next(3)];

通过循环结构多次出题,用random.next方法生成随机数。

实现过程中发现random.next(3)循环1000次,都没有出现过3,先后试了网上的几种方法,都未能解决.最后通过两个随机数相加实现了0-4的随机数,当前虽然四种符号都会随机出现,但是概率不等.目前未解决;

 

 

                if (op == /)
                {
                    while (v1 < v2)
                    {
                        v2 = ran.Next(1, v1);
                    }

                    int mod = v1 % v2;

                    if (mod != 0)
                    {
                        v1 += mod;
                    }
                }

如果是除法,则要求被除数比除数大,如果随机生成的数不能整除,则把余数加给被除数实现整除;

 

 

                else if (- == op)
                {
                    while (v1 < v2)
                    {
                        v2 = ran.Next(1, v1);
                    }
                }

如果是减法,则要求被减数比减数大;

 

 

                switch (op)
                {
                    case +:
                        {
                            a = v1 + v2;
                            break;
                        }
                    case -:
                        {
                            a = v1 - v2;
                            break;
                        }
                    case *:
                        {
                            a = v1 * v2;
                            break;
                        }
                    case /:
                        {
                            a = v1 / v2;
                            break;
                        }
                    default:
                        {
                            a = 1;
                            break;
                        }
                }

分情况计算并记录结果;

 

 

                Console.WriteLine(i +1 + "" + v1 + op.ToString() + v2 + "=");

                Console.WriteLine("请输入答案:");
                string result = Console.ReadLine();

输出算式,并提示输入答案,读取所输入的数字;

 

 

                while (!IsNumeric(result))
                {
                    Console.WriteLine("输入有误,请输入整数");
                    result = Console.ReadLine();
                }

                if (int.Parse(result) == a)
                {
                    Console.WriteLine("回答正确");
                }
                else
                {
                    Console.WriteLine("回答错误,正确答案是:" + a);
                }

检测输入的文本是否为整数,不是则提示重新输入;

如果是整数则判断答案是否正确,并给出结果;

 

 

运行样例:

技术分享

技术分享

 

以上是关于结对项目-四则运算的主要内容,如果未能解决你的问题,请参考以下文章

作业四:结对编程项目四则运算

《结对-四则运算答题器-结对项目总结》

结对项目 四则运算

《结对-四则运算答题器-结对项目总结》

结对编程项目作业2-结对编项目设计文档

结对编程项目--四则运算