Here's a basic schematic to write user input to file based on your previous post. The example hasn't been compiled so I can't vouch for completeness.
Code:
char artist[30];
char track[30];
char header[] = "---CD---\n";
char footer[] = "------\n";
bool anotherArtist = true;
bool moreTracks = true;
char ch;
ofstream fout("myCDfile.txt");
while(anotherArtist)
{
fout << header;
cout << "enter artist" << endl;
cin >> artist;
fout << artist << '\n';
while(moreTracks)
{
cout << "enter track" << endl;
cin >> track;
fout << track << '\n';
cout << "enter n to stop" << endl;
cin >> ch;
if(ch == 'n')
{
moreTracks = false;
fout << footer;
}
}
cout << "enter y for another Artist" << endl;
cin >> ch;
if(ch != 'y')
fout << '\n';
}
To use OOP you could try this as a start (again code not tested):
Code:
struct CD
{
string artist;
vector<string> tracks;
void intializeCD();
friend void operator<<(ostream & fout, CD & cd);
};
void CD::initializeCD()
{
string track;
char ch;
bool moreTracks = true;
cout << "enter artist" << endl;
cin >> artist;
while(moreTracks)
{
cout << "enter track" << endl;
cin >> track;
tracks.push_back(track);
cout << "enter another track y/n" << endl;
cin >> ch;
if(ch == 'n')
moreTracks = false;
}
}
void operator<<(ostream & fout, CD & cd)
{
fout << "--CD--" << '\n';
fout << cd.artist << '\n';
int i = 0;
vector<string>::iterator it = tracks.begin();
for( ; it != tracks.end(); ++it)
fout << *it << '\n';
fout << "------" << '\n'
}