UML与面对象实验报告--信息101班--刘敏华.docVIP

  • 1
  • 0
  • 约5.75千字
  • 约 6页
  • 2016-12-03 发布于贵州
  • 举报

UML与面对象实验报告--信息101班--刘敏华.doc

UML与面对象实验报告--信息101班--刘敏华

UML与面向对象实验报告 信息101班 16号 刘敏华 题目: 请用C++,Java,C#,或VB,.NET任意一种面向对象语言实现一个计算器控制台程序,要求输入两个数和运算符号,得到结果。 问题处理: 看到这个问题,首先想到的是可以通过设立四个变量A,B,C,D来分别表示两个数字,运算符号及运算结果,然后通过if语句来判断用户输入的运算符号,从而进行数学计算,另外在计算中需要将用户输入的数字在字符型与数值型之间进行转换来实现计算和显示。 这样可以写出如下的代码: class Program { static void Main(string[] args) { Console.WriteLine(请输入第一个数字); int A = Convert.ToInt32(Console.ReadLine( )); //输入字符串转化为整形 Console.WriteLine(请输入第二个数字); int B = Convert.ToInt32(Console.ReadLine( ); Console.WriteLine(请输入运算符); string C = Console.ReadLine( ); string D = ; if (C == +) D = Convert.ToString(A + B); if (C == -) D = Convert.ToString(A - B); if (C == *) D = Convert.ToString(A * B); if (C == /) D = Convert.ToString(A / B); Console.WriteLine (运算结果是: + D); } } 但是对代码进行仔细分析后,就会发现里面存在着许多明显的问题: 代码里面的命名很不规范,A,B,C,D让人看起来一下子很难理解代码代表的含义,代码标识符应该采用英文单词或其组合,应当直观且可以拼读,可望文知意,用词应当准确。 在代码里面,If判断语句用了四次,这样会导致每个条件都必须进行判断,这样下来,就会导致计算机做许多的无用功。 进行除法运算时,没有判断字符是否为0,如果是0就会导致不符合运算规则,导致计算错误。 为了解决这些问题,可以采取以下措施: 关于命名不规范的问题,可以采用新的命名,数字可以分别用NumberA和NumberB来表示,运算符号则可以用strOperate来表示,运算的结果可以用str 针对运算符的判断,可以采用switch开关语句来进行判断,这样就会少做许多的无用功 可以采用if语句来判断是否为0,如果是则提示错误。 经过修改,可以得到下面的结果: class Program { static void Main(string[] args) { Console.WriteLine(请输入第一个数字); Int NumberA = Convert.ToInt32(Console.ReadLine( )); Console.WriteLine(请输入第二个数字); int NumberB = Convert.ToInt32(Console.ReadLine( ); Console.WriteLine(请输入运算符); string strOperate = Console.ReadLine( ); string strResult = ; switch(strOperate) { { Case +: strResult = Convert.ToString(NumberA + NumberB); break; case -: strResult = Convert.ToString(NumberA - NumberB); break; case *: strResult = Convert.ToString(NumberA * NumberB); break; case /: if (strNumberB != 0) strResult=Convert.ToS

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档