using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication2
{
class Program
{
public static void Ni()
{
Console.WriteLine("请输入你想做的运算+,-,*,/ ");
string m = Console.ReadLine();
switch (m)
{
case "+":
Shu.Wo();
break;
case "-":
Shu.Sub();
break;
case "*":
Shu.Sheng();
break;
case "/":
Shu.Chu();
break;
}
Console.ReadLine();
}
static void Main(string[] args)
{
Ni();
}
}
//定义委托
public delegate double Num(double x, double y);
public class Math
{
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 sub(double x, double y)
{ return y - x; }
public static double Sheng(double x, double y)
{ return x * y; }
public static double Chu(double x, double y)
{ return x / y; }
}
public class Shu
{
public static int o = 0;//获取做错的题数
public static int i = 0;//获取做题总数
public static int right = 0;//获取做错的题数
public static void Wo()
{
double sum, n;
Random r = new Random();
double x = r.Next(0, 10);
double y = r.Next(0, 10);
sum = x + y;
Console.WriteLine("{0}+{1}=", x, y);
Console.WriteLine("请输入你的结果:");
n = double.Parse(Console.ReadLine());
Num nu = new Num(Math.Add);
Console.WriteLine("正确结果是:");
Console.WriteLine("{0}", nu(x, y));
if (sum == n)
{
Console.WriteLine("你的结果正确!");
i++;
right++;
Wo();
}
else if (n == 99)//提示输入99表示退出运算,不做其它运算
{
Jieshu();
}
else if (n == 00)//提示输入00退出本次运算可以继续做其它运算
{
Jieshu();
Program.Ni();
}
else
{
Console.WriteLine("你的结果不正确");
i++;
o++;
Wo();
}
}
public static void Jieshu()
{
Console.WriteLine("你好,你已退出计算!你共做{0}道题,答对{1},答错{2}\n", i, right , o);
}
public static void Sub()
{
double sum, n ;
Random r = new Random();
double x = r.Next(0, 10);
double y = r.Next(0, 10);
if (x > y)
{
sum = x - y;
Console.WriteLine("{0}-{1}=", x, y);
Console.WriteLine("请输入你的结果:");
n = double.Parse(Console.ReadLine());
Num nu = new Num(Math.Sub);
Console.WriteLine("正确结果是:");
Console.WriteLine("{0}",nu(x, y));
if (sum == n)
{
Console.WriteLine("你的结果正确!");
i++;
right++;
Wo();
}
else if (n == 99)
{
Jieshu();
}
else if (n == 00)
{
Jieshu();
Program.Ni();
}
else
{
Console.WriteLine("你的结果不正确");
i++;
o++;
Sub();
}
}
else if(x<y)
{
sum = y- x;
Console.WriteLine("{0}-{1}=", y, x);
Console.WriteLine("请输入你的结果:");
n = double.Parse(Console.ReadLine());
Num nu = new Num(Math.sub);
Console.WriteLine("正确结果是:");
Console.WriteLine("{0}",nu(x, y));
if (sum == n)
{
Console.WriteLine("你的结果正确!");
i++;
right++;
Wo();
}
else if (n == 99)
{
Jieshu();
}
else if (n == 00)
{
Jieshu();
Program.Ni();
}
else
{
Console.WriteLine("你的结果不正确");
i++;
o++;
Sub();
}
}
}
public static void Sheng()
{
double sum, n;
Random r = new Random();
double x = r.Next(0, 10);
double y = r.Next(0, 10);
sum = x * y;
Console.WriteLine("{0}*{1}=", x, y);
Console.WriteLine("请输入你的结果:");
n = double.Parse(Console.ReadLine());
Num nu = new Num(Math.Sheng);
Console.WriteLine("正确结果是:");
Console.WriteLine("{0}", nu(x, y));
if (sum == n)
{
Console.WriteLine("你的结果正确!");
i++;
right++;
Wo();
}
else if (n == 99)
{
Jieshu();
}
else if (n == 00)
{
Jieshu();
Program.Ni();
}
else
{
Console.WriteLine("你的结果不正确");
i++;
o++;
Sheng();
}
}
public static void Chu()
{
double sum, n;
Random r = new Random();
double x = r.Next(0, 10);
double y = r.Next(0, 10);
if (y != 0)
{
sum = x / y;
Console.WriteLine("{0}/{1}=", x, y);
Console.WriteLine("请输入你的结果:");
n = double.Parse(Console.ReadLine());
Num nu = new Num(Math.Chu);
Console.WriteLine("正确结果是:");
Console.WriteLine("{0}", nu(x, y));
if (sum == n)
{
Console.WriteLine("你的结果正确!");
i++;
right++;
Wo();
}
else if (n == 99)
{
Jieshu();
}
else if (n == 00)
{
Jieshu();
Program.Ni();
}
else
{
Console.WriteLine("你的结果不正确");
i++;
o++;
Chu();
}
}
else
{
sum = y/x ;
Console.WriteLine("{0}/{1}=",y ,x );
Console.WriteLine("请输入你的结果:");
n = double.Parse(Console.ReadLine());
Num nu = new Num(Math.Chu);
Console.WriteLine("正确结果是:");
Console.WriteLine("{0}", nu(x, y));
if (sum == n)
{
Console.WriteLine("你的结果正确!");
i++;
right++;
Wo();
}
else if (n == 99)
{
Jieshu();
}
else if (n == 00)
{
Jieshu();
Program.Ni();
}
else
{
Console.WriteLine("你的结果不正确");
i++;
o++;
Chu();
}
}
}
}
}
![]()
![]()
![]()
![]()