第四次作业(计算器第二步)
2016-03-27 20:21 面向对象程序设计课 阅读(931) 评论(0) 编辑 收藏 举报—— Deadline 2016/04/14 22:00——
↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
计算器第二部分-->开始计算啦!
必须在你们第一部分代码的基础上进行添加和修改。
-
这次不在运行后再进行输入,而是使用调用的方式。
也就是在命令行里(如windows下的cmd),输入calculator.exe -10000+20-3*(20+2)
来得出结果。例如:
当然,结合下面的第二点,最终是要输出计算结果的。你可以如上面截图所示,先进行测试。
提示:
int main(int argc, char* argv[])
-
新建一个Calculation类,添加一个用来计算表达式的方法。
- 将从Scan中返回的queue传入类Calculation中用来计算的方法,在这个方法里进行计算,并返回结果。
- 如果这个方法里的代码太多,则把可以提取出来的代码,作为一个新方法提取出来,然后调用。
- 要求使用两个栈来处理(这里要使用
<stack>
):一个存放数值,一个存放符号。从队列中读取字符串,并分别放入对应的栈中。 - 注意对负数的处理。
- 注意对优先级的处理。
- 使用
<sstream>
将字符串转换为数字。
-
最终要在命令行中调用编译好的可执行文件(如windows的.exe文件),并传入参数以获得结果。如下图,对于Calculator.exe这个可执行文件:
- 注意,不是在编译器上点击运行,而是在命令行中调用编译后的文件。
- 注意,处理的时候,输入可能会有一个参数
-a
。如果加入这个参数,则需要把式子也输出,等号后加一个空格。如下图所示:
本次作业目的:
- 体会在已有的代码上继续开发。
- 了解如何给可执行程序传参。主要还是要知道当你们使用
git add
这些命令的时候,程序是如何解析的。 - 了解栈
<stack>
和<sstream>
的使用。知道可以调用已有的库函数来解决某些问题。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)