简单四则运算
2015-10-05 17:15
309 查看
需求分析:
编写一个能进行十以内简单四则运算,需要实现系统产生随机数进行计算,并判断出计算是否正确以及正确的数目。
设计思路:
看到很多人都用窗体来做,原本也想用窗体的,但是做了一半不会做了,前几天C#讲过类似的四则运算,所以就用书上的控制台应用程序来做,其中有很多不会的东西是百度出来的,没办法,让我自己做真做不出来。
运行结果:
PSP耗时:
总结:
我用控制台应用程序做完以后跟别人的窗体做的进行了对比,感觉用窗体做出来的,简单易懂,清晰明了,不管是外观还是用起来,都比我做的好,我做的时候是不会用窗体,然后看书上例题用控制台做出来的。所以我觉得我接下来,应该尝试窗体再做一遍,有不会的跟同学多讨论讨论,争取做的更好一点。
我这个有很多从百度上查找的,也有从书本上抄的,网上搜查了很多版本,也修改了很多次,还有很多自己不明白,也还有很多缺陷,例如:我这个不能切换算法,输入完非法字符就不能继续算题了,这些我实在不知道怎么回事,可能还有很多缺陷我自己没发现,我不知道该怎么修改,请助教老师给予解答,谢谢!
编写一个能进行十以内简单四则运算,需要实现系统产生随机数进行计算,并判断出计算是否正确以及正确的数目。
设计思路:
看到很多人都用窗体来做,原本也想用窗体的,但是做了一半不会做了,前几天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分钟 |
我用控制台应用程序做完以后跟别人的窗体做的进行了对比,感觉用窗体做出来的,简单易懂,清晰明了,不管是外观还是用起来,都比我做的好,我做的时候是不会用窗体,然后看书上例题用控制台做出来的。所以我觉得我接下来,应该尝试窗体再做一遍,有不会的跟同学多讨论讨论,争取做的更好一点。
我这个有很多从百度上查找的,也有从书本上抄的,网上搜查了很多版本,也修改了很多次,还有很多自己不明白,也还有很多缺陷,例如:我这个不能切换算法,输入完非法字符就不能继续算题了,这些我实在不知道怎么回事,可能还有很多缺陷我自己没发现,我不知道该怎么修改,请助教老师给予解答,谢谢!
相关文章推荐
- 多项式求和
- iOS 开发之缓存清除
- C++中赋值运算符与逗号运算符的用法详解
- 第四周项目5 -猴纸选大王
- 第四周项目2 建立单链表算法库
- Spring自带的几种容器实现
- 【BZOJ3450】【Tyvj1952】Easy 可能DP
- 第三周项目3——求集合并集
- 第六周项目1 - 建立顺序栈算法库
- 第三周--【项目 - 求集合并集】
- 数据结构实践——多项式求和
- C++中对象的赋值与复制操作详细解析
- 第4周 项目6-多项式求和
- code signing is required for product type 'Application' in SDK 'iOS 9.0'错误
- 第六周项目2—数据结构之自建算法库—链栈
- [深入理解Java虚拟机]第三章 HotSpot的垃圾收集算法实现
- txt去重
- 第六周——项目一:建立顺序栈算法库
- 第6周—项目1 建立顺序栈算法库
- linux内核源文件介绍以及头文件的位置