这是我从中提取数据的文本文件。
到目前为止,问题在于
10
wood 8
gold 7
silver 5
gold 9
wood 1
silver 1
silver 9
wood 3
gold 5
wood 7
我需要找到同名商品并将它们的数量相加,因此最终结果应该是木材=19;黄金=21;白银=15。这是我迄今为止所做的。
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
ifstream read("data.txt");
int n;
read >> n;
char name[10][n]; // 10 symbols are given for items name
int amount[n];
for(int i=0; i<n; i++)
{
read.ignore(80, '\n');
read.get(name[i], 10);
read >> amount[i];
}
for(int i=0; i<n; i++)
{
for(int d=1; d<n; d++)
{
if(name[i]==name[d] && i!=d)
{
}
}
}
return 1;
}
到目前为止,问题在于
name[i]==name[d]
即使例如name[i]="wood"
和name[d]="wood"
也不会有反应。
std::string
代替char[]
,您将感激不已。 - NathanOliver