我是一个 C++ 菜鸟,不知道我做错了什么。我的任务是比较两个不同的 .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
我能做些什么来改善它?