zoukankan      html  css  js  c++  java
  • 第四次作业(计算器第二步)

    —— Deadline 2016/04/14 22:00——

    ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑

    计算器第二部分-->开始计算啦!

    必须在你们第一部分代码的基础上进行添加和修改。

    1. 这次不在运行后再进行输入,而是使用调用的方式。
      也就是在命令行里(如windows下的cmd),输入 calculator.exe -10000+20-3*(20+2) 来得出结果。例如:

      当然,结合下面的第二点,最终是要输出计算结果的。你可以如上面截图所示,先进行测试。

      提示:int main(int argc, char* argv[])

    2. 新建一个Calculation类,添加一个用来计算表达式的方法。

      • 将从Scan中返回的queue传入类Calculation中用来计算的方法,在这个方法里进行计算,并返回结果。
      • 如果这个方法里的代码太多,则把可以提取出来的代码,作为一个新方法提取出来,然后调用。
      • 要求使用两个栈来处理(这里要使用<stack>):一个存放数值,一个存放符号。从队列中读取字符串,并分别放入对应的栈中。
      • 注意对负数的处理。
      • 注意对优先级的处理。
      • 使用<sstream>将字符串转换为数字。
    3. 最终要在命令行中调用编译好的可执行文件(如windows的.exe文件),并传入参数以获得结果。如下图,对于Calculator.exe这个可执行文件:

      • 注意,不是在编译器上点击运行,而是在命令行中调用编译后的文件。
      • 注意,处理的时候,输入可能会有一个参数 -a 。如果加入这个参数,则需要把式子也输出,等号后加一个空格。如下图所示:

    本次作业目的:

    1. 体会在已有的代码上继续开发。
    2. 了解如何给可执行程序传参。主要还是要知道当你们使用 git add 这些命令的时候,程序是如何解析的。
    3. 了解栈<stack><sstream>的使用。知道可以调用已有的库函数来解决某些问题。
  • 相关阅读:
    Codeforces610b
    Codeforces597A
    Timus1014(贪心算法)
    一般贪心
    优先队列问题(此题来源哈尔滨理工大学VJ)
    POJ2551Dungeon Master
    LightOJ 1140: How Many Zeroes? (数位DP)
    HDU 2089:不要62(数位DP)
    HDU 4722:Good Numbers(数位DP)
    HDU 3709: Balanced Number (数位DP)
  • 原文地址:https://www.cnblogs.com/fzuoop/p/5326667.html
Copyright © 2011-2022 走看看