Hi,
I am having trouble writing code that will read the index of a
value located in another file, that the user is searching for. I have an external file that contains part numbers, along with data about each part. What I want to do is to be able to enter a part number, search the file for that part number and return the index (where that part number is in the file) so that later I can read whatever data I want from that line.
My biggest obstacle at the moment is the syntax to be used when I want to read in data from the file to the instream so that I can do something with it.
Code:
#include <iostream> // cout, cin, <<, >>
#include <fstream> // ifstream
#include <string> // string (future)
#include <vector> // vector<T> (future)
#include <algorithm> // max, min_element() (future)
// #include "myVector.h" // read(), mean() (future)
#include <cassert> // assert
using namespace std;
const int CAPACITY = 3;
const int DOLLARS = 9999;
int number[CAPACITY] = {0};
int price[DOLLARS] = {0};
int key = 0;
int main()
{
ifstream inFile("product.txt");
assert(inFile.is_open());
inFile >> number >> price;
cout << "Enter a product number: ";
cin >> key;
for (int i = 0; i <= CAPACITY; i++)
{
if (key == number[i]) //find the file index where value of key is stored
{
return i;
}
}
return -1;
cout << "The index is: " << number[i]; // display the index, so that it can be used later.
}
The command
Code:
inFile >> number >> price
generates a "binary >>" error, saying that there is no operator which takes a right hand operand of type int[3].
I believe the compiler has a point, but I don't know what to do to make it happy. Any thoughts or ideas?
I am using MSVS.net 2003
Thanks.