从文本中读取方程式
Read equation from text
你好,我正在制作一个程序,它使用链表、堆栈和队列将中缀转换为后缀并求解方程。我已经为堆栈和队列链表制作了一个推送、拉取等。但是,我遇到的问题是在字符和浮点之间进行转换。
当我从文本文件中读入时,我将等式转换为字符串,简单的等式,如 2+3/(5+1)。我的推送函数接收一个字符,拉取返回一个字符。我不知道首先要做什么是如何将这些字符串转换为字符/浮点数。我编写了这个测试代码,看看typeid是否会区分char和int。
int i, j;
for(i=0; i<lines; i++){
j = 0;
while(readIn[i][j] != ' '){
cout << typeid(readIn[i][j]).name();
j++;
}
cout << endl;
}
但是我的结果如下所示:
ccccccccccccccc
ccccccccccccccccccccc
ccccccccc
因此,它将字符串中的每个字符解释为字符。
我的第二个问题涉及拉动功能。在推送函数中,一旦我能够正确让 char 进行浮点转换,我就做了一个函数重载,一个使用 char,另一个用浮点数。完全相同的代码,只是将数据存储到结构的单独部分中。但是在拉取函数中,如何拉取字符或浮点数?我需要一个 pull 函数来返回一个 char,另一个返回一个浮点数,但你不能有 2 个具有相同参数和不同返回的函数,我有点迷茫。
我真的很感激任何帮助!!
我不知道
,我是否正确理解了你的问题。您只是想知道,字符串中的字符代表什么(数字、字母、点等)?
在这种情况下,我将使用 C 函数
isalpha(c); // != 0, if c is a letter
isdigit(c); // != 0, if c is a digit
isspace(c); // != 0, if c is space, tab, ...
相关文章:
- 理解boost::asio-async_read在无需读取内容时的行为
- 使用新行和不使用新行读取文件
- 读取文件并输入到矢量中
- 用c++从输入文件中读取另一行
- 读取文件的最后一行并输入到链接列表时出错
- 在进程中对同一管道进行读取和写入时C++管道出现问题
- 无法找到/读取配置文件.conf-FileIOException
- 如何使用Luacneneneba API正确读取字符串和表参数
- C++将文本文件中的数据读取到结构数组中
- 正在将csv文件读取为双精度矢量
- 为什么 sscanf 无法从一个字符串中读取uint64_t和字符?
- 为什么在读取文件大小时文件IO速度会发生变化
- 正在读取二进制文件(is_open)
- 如何在c++中从文本文件中逐行读取整数
- SSH通过/sbin/SSH无法读取RSA密钥文件(从控制台运行)
- 独立读取-修改-写入顺序
- 从文本文件中读取时钟时间和事件时间并进行处理
- 如何从文本文件中读取值和数组
- 为什么文件名被设置为一个点,而不是在读取矢量中的文件名时
- 从文本中读取方程式