正在输出一个实数或整数 我正在逐个字符地从一个文件读取数字字符。它将读取一个整数,并将其整数推到integerQueue中,直到达到'。',然后它将切换到将其输入到realQueue中。以正确的顺序输出队列
然后当我打印,它需要打印出来,即实:123.4343
但现在输出是真实的:123整数4343
不知怎的,我的while循环或if语句没有做我的它的工作。我只是找不到我的错误
的问题是,如何解决我的输出,使得它打印出123.4343
//if the realQueue is empty, then we just read in an integer, currentState must be 1, in order to print integer
if(realQueue.empty() || currentState == '1')//implementation of the FSM
{
writeFile <<"Integer: ";
while(!integerQueue.empty())
{
writeFile <<integerQueue.front();
integerQueue.pop();
}
}
//since the realQueue has values in it, then it must bea real Number
else
{
//currentState = '2';
// currentState must be == '2', since wwe have a real number to print
writeFile<<"Real: ";
//currentState has to be in real mode for it to print out to file
while(!integerQueue.empty() && currentState == '2')
{
writeFile <<integerQueue.front();
integerQueue.pop();
}
// currentState has to be in real mode for it to print out to file
while(!realQueue.empty() && currentState == '2')
{
writeFile <<realQueue.front();
realQueue.pop();
}
}
什么问题? – CrazyCasta
如何正确打印123.4242 – user1050632