gpt4 book ai didi

c++ - 根据队列内容(if 语句)决定一个数字是实数还是整数

转载 作者:行者123 更新时间:2023-11-28 07:56:10 27 4
gpt4 key购买 nike

我正在逐个字符地从文件中读取数据,在读取结束时,我需要能够打印出该值是实数还是整数。

我已经使用 get() 读取数据,并将它们存储到 2 个不同的队列中,如果第一部分是 integerQueue,如果是 '.'被读入,然后将剩下的数据切换到realQueue中。然后打印出来。

打印有问题。只是将所有内容标记为 Integer: 然后是正确的值。

else if(isdigit(temp) || temp == '.')
{
integerQueue.push(temp);
char temp2 = readFile.get();
while(isdigit(temp2))
{
integerQueue.push(temp2);
temp2 = readFile.get();
}
if( temp == '.')
{
realQueue.push(temp);
temp2 = readFile.get();
while(isdigit(temp2))
{
realQueue.push(temp2);
temp2 = readFile.get();
}
}
if(realQueue.empty())
{
writeFile <<"Integer: ";
while(!integerQueue.empty())
{
writeFile <<integerQueue.front();
integerQueue.pop();
}
}
else
{
writeFile<<"Real: ";
while(!integerQueue.empty())
{
writeFile <<integerQueue.front();
integerQueue.pop();
}
while(!realQueue.empty())
{
writeFile <<realQueue.front();
realQueue.pop();
}
}

最佳答案

第 10 行:if( temp == '.') - 您正在读取进入这部分代码的第一个字符,而不是最后一个被读取的字符(以及最终会使while 循环中断)。您应该检查 temp2 是否等于“.”,而不是 temp。

关于c++ - 根据队列内容(if 语句)决定一个数字是实数还是整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12665634/

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