ファイルから1文字ずつデータを読み込んでいます。読み取りの最後に、値が実数か整数かを印刷できるようにする必要があります。
get()を使用してデータを読み込み、最初の部分がintegerQueueの場合、「。」の場合、2つの異なるキューに保存しました。が読み込まれ、残りのデータがrealQueueに切り替えられます。次に、それに応じて印刷します。
印刷に問題があります。すべてを整数にラベル付けし続けます:次に正しい値。
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();
}
}