Storing string arrays?

I have an a 1000 rows of data stored in a file something like this:

question 1 text       q1 answer          q1 difficulty
question 2 text       q2 answer          q2 difficulty
... (998 more)

After loading the data, where should I put this data?  I would like to put it in a multidimensional array, but am new to C++ data structures, and not sure if this is the best option.

What would be the best way to store this data in C++ so I can rapidly pull up a random question?
LVL 4
derekpapeschAsked:
Who is Participating?
 
Mustak_ShaikhConnect With a Mentor Commented:
derekpapesh,

I think there are two option for this
1. Either go for structure or class
e.g. say first column is question identifier,
second as question_name and third as question description.
then create class as
class Question
{
    private:
   char question_ident[30];
   char question_name[30];
  char question_desc[30];
};
to fetch data from file go for this:
file>>objQuestion;
to write data on file:
file<<objQuestion;

2. two dimenional char array or pointer to pointer char e.g. char **strquestion.

regards,
Mustak_Shaikh
0
 
efnCommented:
You should have a class that stores the data for one question and an array or vector of objects of that class.

If you are sure that there will always be 1000 questions, you can use an array.  A vector works like an array, but gives you more flexibility with its size--it's like an array that can grow as needed.

Mustak_Shaikh was on the right track recommending a structure or class, but you might want to represent the difficulty as a number rather than a string and you probably don't want all the members to be private.  You could also consider using string objects rather than character arrays.  As with vectors, string objects give you more flexibility with the size.

--efn
0
 
derekpapeschAuthor Commented:
Thanks Mustak_Shaikh,

That's brilliant.  It's working.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.