Calculator

1、代码链接:https://github.com/laixiaolian/object-oriented

2、主要思路:

首先,先建立一个.h文件,里面建立一个Scan类和Print类。在Scan类里定义一个bool ToStringQueue(string input)用于读取用户输入的四则运算表达式inupt,分解后转存到m_scanstring。在Print类里定义一个void PrintQueue(queue & tmpQueue)用于接受一个队列。

之后,建立一个.cpp文件,在这个文件中,在Scan类里写一个函数:首先先判断是否为小数还是整数或者是字符。若判断出不是字符,则还要考虑到输入的数字是否超过了10位,若是小数要包括小数点的所占的一位。当读完连续的数字或者单个字符时,要将这些数字或者字符导入到队列中。在最后还需判断表达式最后是否为数字,若是数字则与刚开始时一样需要判断是小数还是整数,是否有超过10位。在Print类里写一个方法,用来输出所得到的队列。

最后,建立Main.cpp文件,在其main里面获取键盘输入以及创建Scan对象和Print对象。

3、过程中遇到的困难以及解决过程:

  • 处理实数的过程中,开始没有判断小数和整数,于是我在calculator.cpp中添加了判断条件。
    Calculator_第1张图片

  • 调试时发现没有输出。解决方法:没有考虑到表达式最后是数字还是字符,于是我在代码中加了这一段
    Calculator_第2张图片

  • 可还是调试不出来,最后发现没有将string存入queue中,于是加了m_scanstring.push()将string存入到queue中。

  • 在Main.cpp中忘记了当数字超出10位时应该输出的语句,于是再加了一个if else语句。整个代码就完成了。

你可能感兴趣的:(Calculator)