using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace calculator { 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("请选择要进行那种运算:"+ " "+"输入+ 号表示选择加法"+ " "+"输入- 号表示选择减法"+ " "+"输入 * 号表示选择乘法"+ " "+"输入 / 号表示选择除法"+ " "+"输入 e 表示结束程序"); //输入运算符 char[] chars = Console.ReadLine().ToCharArray(); type = chars[0]; //字符串数组,第0个,就是用户输入的运算符号 while (type != 'e') { Random rand = new Random(); int a = rand.Next(1, 11); int b = rand.Next(1, 11); int n = rand.Next(0, 5); int sum, answer; switch (type) { case ('+'): #region 加法计算 sum = a + b; question++; Console.WriteLine("----------------------------------------------");//分割线 Console.WriteLine("问题:第" + question + "题"); Console.WriteLine("加法运算:" + a + " + " + b + " = " + "____"); //输入答案 Console.WriteLine("请输入你的答案:"); string answerStr1 = Console.ReadLine(); if (answerStr1 == "e") { Console.WriteLine("您共答对" + right + "道题,答错" + fault + "道题"); Console.ReadKey(); return; } answer = Convert.ToInt32(answerStr1); if (answer == sum)//回答的结果==程序计算的结果 { right++; IsRight(1); } else { fault++; IsRight(0); } #endregion break; case ('-'): #region 减法计算 sum = a - n; question++; Console.WriteLine("----------------------------------------------");//分割线 Console.WriteLine("问题:第" + question + "题"); Console.WriteLine("减法运算:" + a + " - " + n + " = " + "____"); //输入答案 Console.WriteLine("请输入你的答案:"); string answerStr2 = Console.ReadLine(); if (answerStr2 == "e") { Console.WriteLine("您共答对" + right + "道题,答错" + fault + "道题"); Console.ReadKey(); return; } answer = Convert.ToInt32(answerStr2); if (answer == sum)//回答的结果==程序计算的结果 { right++; IsRight(1); } else { fault++; IsRight(0); } #endregion break; case ('*'): #region 乘法计算 sum = a * b; question++; Console.WriteLine("----------------------------------------------");//分割线 Console.WriteLine("问题:第" + question + "题"); Console.WriteLine("乘法运算:" + a + " * " + b + " = " + "____"); //输入答案 Console.WriteLine("请输入你的答案:"); string answerStr3 = Console.ReadLine(); if (answerStr3 == "e") { Console.WriteLine("您共答对" + right + "道题,答错" + fault + "道题"); Console.ReadKey(); return; } answer = Convert.ToInt32(answerStr3); if (answer == sum)//回答的结果==程序计算的结果 { right++; IsRight(1); } else { fault++; IsRight(0); } #endregion break; case ('/'): #region 除法计算 sum = a / b; question++; Console.WriteLine("----------------------------------------------");//分割线 Console.WriteLine("问题:第" + question + "题"); Console.WriteLine("除法运算:" + a + " / " + b + " = " + "____"); //输入答案 Console.WriteLine("请输入你的答案:"); string answerStr4= Console.ReadLine(); if (answerStr4 == "e") { Console.WriteLine("您共答对" + right + "道题,答错" + fault + "道题"); Console.ReadKey(); return; } answer = Convert.ToInt32(answerStr4); if (answer == sum)//回答的结果==程序计算的结果 { right++; IsRight(1); } else { fault++; IsRight(0); } #endregion break; default: Console.WriteLine("输入的运算符号非法!"); Console.ReadKey(); return; //方法返回,不再向下执行 } } Console.WriteLine("您共答对" + right + "道题,答错" + fault + "道题"); Console.ReadKey(); } //判断对错方法 static void IsRight(int rightOrfault) { if (rightOrfault == 1) Console.WriteLine("回答正确!"); else if (rightOrfault == 0) Console.WriteLine("回答错误!");
}
} } }
要求
编写一个能对0-10之间的整数进行四则运算的“软件”程序能接收用户的答案并进行判断对错,程序结束时统计计算结果情况。
补充说明:0--10之间的数是随机产生的
用户可以用键盘输入来选择四则运算中的一种,用户输入一个字符程序结束,并显示运算结果,比如输入e程序结束并显示结果
若用户输入错误则给出提示并结束程序,用户可以选择运算结果。
思路分析:
在上次作业的基础上少加变动,和伙伴进行讨论,让客户可以自由的进行选择,尽可能的去满足客户的的需求。
总结:
虽然比上次多了一些小小的经验,但是想增加个计时器,但是计时器的单击事件不太会写,不过我会继续努力,多请教一下别人,多和伙伴讨论,争取做得更加完善。