gpt4 book ai didi

c++ - 我如何让这个 C++ 计算程序留在控制台上?

转载 作者:行者123 更新时间:2023-11-28 04:51:26 25 4
gpt4 key购买 nike

<分区>

我最近正在尝试一些计算器代码,我发现了一个有效的..

但无论我怎样尝试,该程序都会在控制台上显示答案后立即运行。请帮助我,我尽力让它停止。但它不会工作...

我正在使用 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;
}

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com