gpt4 book ai didi

c++ - cin - 读取加/减为 char

转载 作者:搜寻专家 更新时间:2023-10-31 01:44:52 24 4
gpt4 key购买 nike

我的程序输入有问题。它应该输入一个数学表达式,例如(x + 3 + ax - 5)。所有项目都由一个空白分隔。

我处理这个问题的方式:首先我尝试用 cin >> number 读取一个整数。如果失败,我会尝试读取一个字符数组。然后我检查这是否是一个运算符 (+,-,*,/,( or )) - 如果不是,那么这一定是一个变量。

我遇到的问题是加号和减号。 cin 在读取整数时似乎不会在读取 + 或 - 时打印错误。有什么方法可以按照我的意图进行这项工作吗?在此先感谢,这是我的代码片段:

int number; char * signs = new char[3]; char signsBeginning[3] = "aa"; 
signs = signsBeginning;
while(#endexpression){
cin >> number;
if(!cin){
//not a number
cin.clear();
cin >> signs;
//handling the input
}else{
//number
}
}

编辑:忘记添加:我不能使用字符串。

最佳答案

是否可以只使用 std::getline() 读取整个字符串,然后对其进行解析?

std::string line;
std::getline(std::cin, line);

// Parse the read line ...

关于c++ - cin - 读取加/减为 char,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22940607/

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