我最近尝试了一些计算器代码,我找到了一个有效的代码..
但无论我尝试过什么,这个程序会在控制台上显示答案后立即关闭。请帮助我,我尽力让它停下来。但它不会起作用......
我正在使用Visual Studio进行编码,如果它与之相关,请通知我
#include <iostream>
#include <string>
#include <cctype>
#include<conio.h>
int expression();
char token() {
char ch;
std::cin >> ch;
return ch;
}
int factor() {
int val = 0;
char ch = token();
if (ch == '(') {
val = expression();
ch = token();
if (ch != ')') {
std::string error = std::string("Expected ')', got: ") + ch;
throw std::runtime_error(error.c_str());
}
}
else if (isdigit(ch)) {
std::cin.unget();
std::cin >> val;
}
else throw std::runtime_error("Unexpected character");
return val;
}
int term() {
int ch;
int val = factor();
ch = token();
if (ch == '*' || ch == '/') {
int b = term();
if (ch == '*')
val *= b;
else
val /= b;
}
else std::cin.unget();
return val;
}
int expression() {
int val = term();
char ch = token();
if (ch == '-' || ch == '+') {
int b = expression();
if (ch == '+')
val += b;
else
val -= b;
}
else std::cin.unget();
return val;
}
int main(int argc, char **argv) {
try {
std::cout << expression();
}
catch (std::exception &e) {
std::cout << e.what();
}
return 0;
}
答案 0 :(得分:1)
一般来说,最好的方法是从命令解释程序运行程序。我使用cmd.exe
。现在大多数程序员,在我看来,更喜欢Powershell,但我讨厌它(对我来说就像COBOL)。你也可以使用Cygwin来获得类似bash-shell的体验。我不建议在Windows 10开发模式下使用beta bash shell:它不稳定,如果你不是非常小心,可能会做坏事。
在Visual Studio中,只需通过 Ctrl + F5 运行程序,无需调试即可运行该程序。
要在VS中运行调试,可以在main
的最后一个右大括号上放置一个断点。