私は C++ 初心者で、何が間違っているのかわかりません。私の課題は、2 つの異なる .txt ファイルを比較することです。それぞれのファイルには、アイテムとそのアイテムの数および価格のいずれかが含まれています。次に、アイテムの名前と価格を印刷しようとしています。以下を含む .txt ファイル namesAndQuantity.txt を使用しているとします。
3 books
4 pens
そして、以下を含む .txt ファイル namesAndPrice.txt:
pens 3.45
books 19.55
私が使用しているコードは、最初の一致のみを出力します:
#include <iostream>
#include <fstream>
#include <cmath>
int main(){
string nameOfItemP, nameOfItemQ;
double priceOfItem;
int numberOfItems;
ifstream inData;
ifstream inData2;
inData.open("namesAndQuantity.txt");
inData2.open("namesAndPrice.txt");
while (inData>>numberOfItems>>nameOfItemQ){
while (inData2>>nameOfItemP>>priceOfItem){
if (nameOfItemP==nameOfItemQ){
cout<<nameOfItemQ<<endl;
cout<<priceOfItem;
}
}
}
このコードは最初の行のみを出力します:
books
19.55
改善するにはどうすればよいですか?