【问题标题】:outputting queues in correct order [closed]以正确的顺序输出队列[关闭]
【发布时间】:2012-10-05 06:41:57
【问题描述】:

输出实数或整数 我正在从文件中逐个字符地读取数字。它会读取一个整数并将其推入 integerQueue,直到它到达一个'.',然后它会切换到将它输入到一个 realQueue。

然后当我打印时,它需要打印出来,即 Real: 123.4343

但现在输出是 Real: 123. Integer 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();
                        }

            } 

【问题讨论】:

  • 如何正确打印出 123.4242

标签: c++ queue


【解决方案1】:

尝试退出这个循环,看看会发生什么。

while(!integerQueue.empty() && currentState == '2') 
{ 
  writeFile <<integerQueue.front(); 
  integerQueue.pop(); 
} 

【讨论】:

  • 它打印出真实的:.和整数:1234242 所以它没有把它假设去的时期
  • 这不是你回答问题的方式。解释解决方案,提供进一步的参考和正确的代码。这就是 SO 的工作原理。
猜你喜欢
  • 2012-05-06
  • 1970-01-01
  • 1970-01-01
  • 2013-09-22
  • 2017-01-10
  • 2018-07-30
  • 2016-08-29
  • 2015-08-16
  • 1970-01-01
相关资源
最近更新 更多