您的位置:首页 > 其它

简单四则运算

2015-10-05 17:15 309 查看
需求分析:

编写一个能进行十以内简单四则运算,需要实现系统产生随机数进行计算,并判断出计算是否正确以及正确的数目。

设计思路:

看到很多人都用窗体来做,原本也想用窗体的,但是做了一半不会做了,前几天C#讲过类似的四则运算,所以就用书上的控制台应用程序来做,其中有很多不会的东西是百度出来的,没办法,让我自己做真做不出来。

class Program
{
private static int right = 0;
private static int fault = 0;
private static int question = 0;
static void Main(string[] args)
{

char type = ' ';
Console.WriteLine("-----------------------------------------------------------");
Console.WriteLine("请选择要进行那种运算:\n 输入 + 号表示选择加法输入,\n 输入- 号表示选择减法 \n,输入 * 号表示选择乘法,\n 输入 / 号表示选择除法,\n 输入 e 表示结束程序。\n");
Console.WriteLine("-----------------------------------------------------------");
char[] chars = Console.ReadLine().ToCharArray();
type = chars[0];
while (type != 'e')
{

Random rand = new Random();
int a = rand.Next(0, 11);
int b = rand.Next(0, 11);
int sum, answer;
switch (type)
{

case ('+'):

sum = a + b;
question++;
Console.WriteLine("**********************************************");
Console.WriteLine("问题:第{0}题", question);
Console.WriteLine("加法运算:{0} + {1} = ____",a,b);

Console.WriteLine("请输入你的答案:");
string answerStr1 = Console.ReadLine();
if (answerStr1 == "e")
{

Console.WriteLine("您共答对{0}道题,答错{1}道题", right, fault);
Console.ReadKey();
return;

}

answer = Convert.ToInt32(answerStr1);
if (answer == sum)
{
right++;
IsRight(1);

}
else
{
fault++;
IsRight(0);
}

break;

case ('-'):

sum = a - b;
question++;
Console.WriteLine("**********************************************");
Console.WriteLine("问题:第题",question);
Console.WriteLine("减法运算:{0} - {1} = ____", a, b);

Console.WriteLine("请输入你的答案:");
string answerStr2 = Console.ReadLine();
if (answerStr2 == "e")
{

Console.WriteLine("您共答对{0}道题,答错{1}道题", right, fault);
Console.ReadKey();
return;

}

answer = Convert.ToInt32(answerStr2);
if (answer == sum)
{
right++;
IsRight(1);
}
else
{
fault++;
IsRight(0);
}
break;
case ('*'):

sum = a * b;
question++;
Console.WriteLine("**********************************************");
Console.WriteLine("问题:第{0}题", question);
Console.WriteLine("乘法运算:{0} * {1} = ____", a, b);

Console.WriteLine("请输入你的答案:");
string answerStr3 = Console.ReadLine();
if (answerStr3 == "e")
{

Console.WriteLine("您共答对{0}道题,答错{1}道题", right, fault);
Console.ReadKey();
return;

}

answer = Convert.ToInt32(answerStr3);
if (answer == sum)
{
right++;
IsRight(1);
}
else
{
fault++;
IsRight(0);
}

break;
case ('/'):

sum = a / b;
question++;
Console.WriteLine("**********************************************");
Console.WriteLine("问题:第{0}题", question);
Console.WriteLine("除法运算:{0} / {1} = ____", a, b);

Console.WriteLine("请输入你的答案:");
string answerStr4 = Console.ReadLine();
if (answerStr4 == "e")
{

Console.WriteLine("您共答对{0}道题,答错{1}道题", right, fault);
Console.ReadKey();
return;

}

answer = Convert.ToInt32(answerStr4);
if (answer == sum)
{
right++;
IsRight(1);
}
else
{
fault++;
IsRight(0);
}

break;

default:
Console.WriteLine("输入的运算符号非法!");
Console.ReadKey();
return;

}

}
Console.WriteLine("您共答对{0}道题,答错{1}道题", right, fault);
Console.ReadKey();
}

static void IsRight(int rightOrfault)
{
if (rightOrfault == 1)
Console.WriteLine("回答正确!");

else if (rightOrfault == 0)
Console.WriteLine("回答错误!");
}
}


运行结果:



PSP耗时:

需求分析设计思路代码实现总结
15分钟30分钟2小时10分钟
总结:

我用控制台应用程序做完以后跟别人的窗体做的进行了对比,感觉用窗体做出来的,简单易懂,清晰明了,不管是外观还是用起来,都比我做的好,我做的时候是不会用窗体,然后看书上例题用控制台做出来的。所以我觉得我接下来,应该尝试窗体再做一遍,有不会的跟同学多讨论讨论,争取做的更好一点。

我这个有很多从百度上查找的,也有从书本上抄的,网上搜查了很多版本,也修改了很多次,还有很多自己不明白,也还有很多缺陷,例如:我这个不能切换算法,输入完非法字符就不能继续算题了,这些我实在不知道怎么回事,可能还有很多缺陷我自己没发现,我不知道该怎么修改,请助教老师给予解答,谢谢!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: