I'm completely new to C++ and currently I'm trying to read very basic text file which look like this:
Dr John Doe
British
2
Soccer
Swimming
and my expected output should look like:
My information
Name: John Doe
Nationality: British
I have 2 hobbies:
1. Soccer
2. Swimming
My header file:
#include <iostream>
#include <fstream>
#include <string>
#include <sstream>
#include <cstdlib>
#include <ctime>
#include <vector>
using namespace std;
const int MAX = 80;
const int MAXNO = 5;
enum Title {Miss, Mrs, Mr, Dr, Unknown};
struct Date
{
 int day; 
 int month;
 int year;
};
struct MyInfo
{
    char name [MAX];
    char national [MAX];
    int noOfHobbies;
    char hobby [MAXNO][MAX];
};
void getMyInfo (fstream& , char[] , MyInfo&);
void displayMyInfo (MyInfo);
My functions:
#include "Lab_1.h"
void getMyInfo (fstream& afile,char fileName[], MyInfo& x) {
    afile.open (fileName);
    if (!afile)
    {
        cout << "Binary file " << fileName << " opened for creation failed" << endl;
        exit (-1);
    }
    cout << "\n" << "Begin reading of " << fileName << endl;
    string line;
    while(getline(afile, line))
    {
        afile >> x.national;
        afile >> x.noOfHobbies;*/
        if (afile >> x.name >> x.national >> x.noOfHobbies) {
            cout << "Name: " << x.name << ", " 
                << "National: " << x.national << ", " 
                << "noOfHobbies: " << x.noOfHobbies << ", " 
                << endl;
        }
    }
}    
void displayMyInfo (MyInfo x) {
}
My main function:
#include "Lab_1.h"
int main () {
    fstream afile;
    MyInfo x;
    string fileName;
    getMyInfo(afile,"textfile.txt",x);
    //displayMyInfo(x);
    afile.close ();
}
The above code output nothing because I just put everything I understand over the forum with similar question. Since I'm already stuck for 1 day even though I've already done a lot of research but most of them suggest to use vector which I'm not familiar with at this moment, so can someone give me a solution to this problem? Thank you very much for your help in advance.
 
    