第三次作业---四则运算的进一步完善

这次作业的要求是让对上次作业的四则运算进一步改善,不能在减法中出现负数,不能出现除不尽的情况。

就像这种情况,不知道怎么规定一个数值必须是正整数,所以我们就采用最笨的方法来做,定义一个f,其值为e,d的倍数。

而d做为除数,f做为被除数,所以无论如何f都是d的e倍,而我们定义的e的取值范围又为(1,10)之间的正整数,所以不管怎么随机,f都是d的正整数倍数,不会存在有余数的情况。





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

namespace ConsoleApplication3
{
class Program
{
static void Main(string[] args)
{
bool bk = false;
new Thread(() =>
{
int djs = 10;
DateTime lt = DateTime.Now; //DT = Datetime
do
{
if ((DateTime.Now - lt).TotalSeconds >= 1)
{
lt = DateTime.Now;
djs--;
Console.WriteLine(djs);
}
Thread.Sleep(100);
} while (djs > 0 && !bk);
Console.WriteLine("时间到了,停止答题");
}).Start();

Console.ReadLine();
bk = true;
}
}
}

要求实现倒计时的我们也考虑到了,我们也是通过各种渠道来努力实现,最后虽然做了出来,但并不是很理想,所以就没有插到代码里面。关键还是不知道应该插在哪里,希望老师看过之后能给个建议,为我们解除困惑。

 

 

 

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);//可以试随机数c不大于随机数a
int d = num.Next(1, 10);//使除数范围内无0,且除数都10以内。
int e = num.Next(1, 10);//规定一个商的值,不为0,且在10以内。
int f = e * d;//被除数=除数*商,可使被除数一定为除数的整十倍数。
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}=?请输入答案,",f,d);


int f除d = Convert.ToInt32(Console.ReadLine());
if (f除d ==f / d)
{
Console.WriteLine("你算对了!点赞");
正确++;
}
else
{
Console.WriteLine("你算错了!加油");
错误++;
}break;

}
}
while (Console.ReadLine() != "");

Console.WriteLine("你一共答了{0}道题,正确:{1},错误:{2}", 正确 + 错误, 正确, 错误);
Console.ReadLine();
}

}
}

这是我们这次作业的源代码,希望老师能给点意见。

总结:其实结队编程也是一个很好地建议,效率很高。而且遇到问题的时候,两个人都在思考,想到的总比一个人多得多,而且结合两个人的思考成果,往往会有意想不到的成果。从而也就实现了一加一大于二的理念。总的来说,结对编写真的很不错。



posted @ 2015-10-18 11:11  卞玉新  阅读(163)  评论(1编辑  收藏  举报