软件工程——第四次作业(3)
作业要求:https://edu.cnblogs.com/campus/nenu/SWE2017FALL/homework/997
代码:https://git.coding.net/ss505072461/f4.git
————————————————————————————————————————————
本次作业的要求,是编写出一款能够生成四则运算试题的程序,在阅读了老师发布的作业要求之后,我便开始了对于程序功能要求的分析及实现目标功能的个人想法。
功能1是该程序的基本需求,即四则运算题目的生成及计算,程序要求支持出题4个数的四则运算题目,题目总数在样例中是20道,所有题目要求作者有能力正确回答,因此如果结果是无限的小数,是没有办法回答的(没有办法输入完整结果)。
作为一个自动出题的程序,题目的4个数都是随机生成的整数,而题目中的3个四则运算符也是随机生成的,因此题目的运算顺序会因为随机生成的乘和除运算而发生变化,我的初步想法是题目里的4个数暂定范围为[1,99]的整形数,这样结果也能在一定考虑范围内。关于四则运算符的生成,我选择随机生成一个[0,3]的整形数,分别对应+、-、*、/四个运算符,三个运算符的生成数由整形一维数组symbol保存,而后生成的三个用于输出题目的运算符则是由字符型一维数组sym保存。
程序的主函数main如下(其中包含了功能3中对于命令行参数及题目数量是否为正整数的判断内容):
1 static void Main(string[] args) 2 { 3 int num = 20; //在是否有命令行参数判断之前,默认题目为20道 4 if (args.Length > 0 && args[0] == "-c") 5 if (IsNumeric(args[1]) == false) //功能3中,命令行-c参数后内容是否为正整数的检测 6 { 7 Console.WriteLine("题目数量必须是 正整数"); 8 System.Environment.Exit(0); 9 } 10 else 11 { 12 num = int.Parse(args[1]); 13 } 14 for (int i = 0; i < num; i++) 15 { 16 Create(); 17 } 18 Console.WriteLine(); 19 Console.WriteLine("你一共答对{0}道题,共{1}道题。", right, num); 20 }