The aim of the project is to develop an application to manage the information of a radio
station. A radio station has a name, a list of music tracks to broadcast and a top ten list of
the music tracks preferred by the listeners and a list of radio listeners (users). Each music
track is characterized by a unique integer id, its title, artist, author, album, music genre,
year, number of "likes", number of "dislikes". A radio listener is someone that has a unique
ID, a name, age, gender and a play list (list of music track ids). The play list of a user must
have information concerning the music track. The top ten list is sorted, in descending order,
by the difference between the number of "likes" and the number of "dislikes" of the music
tracks. Information concerning the radio station and the users is kept updated in files. To
have access to the radio station facilities a user must register himself at the application
(simply fill in the user information mentioned above). The radio station registers the number
of times each track is played in a given period and assigns a prize to the user with the
hightest number of hits in his/her playlist.
I think the 'like' and 'dislike' seem like two more columns to be added to the file in a similar way to the ID.
However, some of the data items, including the ID are integers, while the program currently treats everything as a string. That isn't a major problem, you can convert a std::string to an integer using for example atoi(id.c_str()) where id is the string containing the ID number. The same would apply to other numeric fields. Year is probably OK as a string but like/dislike are clearly numeric items which can be incremented or decremented at some point and should be treated as integers too.
From the description above I can see there is quite a lot more to this project, this is just one part of it.