码迷,mamicode.com
首页 > 其他好文 > 详细

结对项目-四则运算

时间:2016-09-06 19:42:29      阅读:151      评论:0      收藏:0      [点我收藏+]

标签:

项目:四则运算

结对伙伴:杜桥

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

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

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

SSH:git@git.coding.net: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);
                }

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

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

 

 

运行样例:

技术分享

技术分享

 

结对项目-四则运算

标签:

原文地址:http://www.cnblogs.com/li-yuhuan/p/5846831.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!