请将用户输入改为从txt文件中读取
时间: 2023-08-16 09:06:40 浏览: 58
好的,以下是将用户输入改为从txt文件中读取的代码示例:
```c++
#include <iostream>
#include <string>
#include <fstream>
using namespace std;
int main() {
string fileName;
cout << "请输入包含无优先级运算表达式的txt文件名:" << endl;
cin >> fileName;
ifstream inputFile(fileName); // 打开输入文件
if (!inputFile) {
cout << "无法打开输入文件 " << fileName << ",请检查文件名是否正确。" << endl;
return 1;
}
string expression;
getline(inputFile, expression); // 从文件中读取整行输入,包括空格
int result = 0; // 计算结果
int num = 0; // 正在读取的数字
char op = '+'; // 正在读取的运算符,默认为加号
// 遍历输入表达式的每一个字符
for (char c : expression) {
if (c >= '0' && c <= '9') {
// 如果当前字符是数字,则将其加入正在读取的数字中
num = num * 10 + c - '0';
} else if (c == '+' || c == '-' || c == '*' || c == '/') {
// 如果当前字符是运算符,则根据前一个运算符计算上一个数字的结果,更新计算结果
if (op == '+') {
result += num;
} else if (op == '-') {
result -= num;
} else if (op == '*') {
result *= num;
} else if (op == '/') {
result /= num;
}
// 更新当前运算符和正在读取的数字
op = c;
num = 0;
}
}
// 处理最后一个数字
if (op == '+') {
result += num;
} else if (op == '-') {
result -= num;
} else if (op == '*') {
result *= num;
} else if (op == '/') {
result /= num;
}
cout << "计算结果为:" << result << endl;
return 0;
}
```
这段代码将用户输入改为从指定的txt文件中读取,读取的文件名由用户在程序运行时输入。在代码中,使用了`ifstream`类型的对象`inputFile`来打开输入文件,如果无法打开,则输出错误信息。读取文件内容的方式和之前的示例相同。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)