私は優先度のキューとreqularキューを持つプロジェクトを持っています。 優先度の高いキューを使用して、最小から最大までのIDで製品を整理する必要があります。C++のキュー、出力エラー
次に、reqularキューを使用して、これらを3つのカテゴリに入れる必要があります。 (在庫超過、在庫不足、制限内)。したがって、出力は次のようになります。
UnderStock
14887 $ 10 14
15678 $ 1 298
セール
12565 $ 4 539
18967 $ 12 401
StockWithinLimits
19847は$ 2 220
私はこのコードを書いたが、何かが、私はないと確信していることをオフで、私のアウトプットは、次のようになります。
セール
12565 $ 4 539
UnderStock
14887 $ 10 14
UnderStock
15678 $ 1 298
セール
18967 $ 12 401
StockWithInLimits
19847 $ 2 220
int main()
{
ifstream inFile; // file containing operations
ofstream outFile; // file containing output
string inFileName = "product.txt";
string outFileName = "result.txt";
inFile.open (inFileName.c_str());
outFile.open (outFileName.c_str());
ItemType item;//declare a temp item that trows into pQue
PQType<ItemType> pqueue(50);//priority queue that sorts items by ID
QueueADT <ItemType> que;
QueueADT <ItemType> lowQ;
QueueADT <ItemType> highQ;
QueueADT <ItemType> withinQ;
while (item.readProduct (inFile))
{
pqueue.Enqueue(item);
}
while (!pqueue.IsEmpty())
{
pqueue.Dequeue (item);
int tempcurinvent = item.getcurrentInventory();
int tempmax = item.getMax();
int tempmin =item.getMin();
if ((tempcurinvent < tempmin) && (tempcurinvent < tempmax))//UnderStock
{
lowQ.Enqueue (item);
}
if ((tempcurinvent < tempmax) && (tempcurinvent > tempmin)) //WithINLimits
{
withinQ.Enqueue (item);
}
else if ((tempcurinvent > tempmin) && (tempcurinvent > tempmax))//OverStock
{
highQ.Enqueue (item);
}
outFile << "UnderStock" << endl;
item.printProduct (outFile);
lowQ.Dequeue (item);
outFile << "WithINLimits:" << endl;
item.printProduct (outFile);
withinQ.Dequeue (item);
outFile << "OverStock" << endl;
item.printProduct (outFile);
highQ.Dequeue (item);
}
inFile.close();
outFile.close();
return 0;
}
は、私たちはあなたのコードがどのように見えるかを推測することになっていますか? –
私のコードが間違っているのを見て、出力もそうです。しかし、それが正しくこれをどのように設定しているかまだ分かりません。 誰でも私にヒントを与えることができますか?してください:-) –