I have problems with my C++ and this is the question. Feel free please write a program of it. I need solution for reference. thanks!
it seems simple but not to a newbie like me

Please help.
The road and traffic authority for a small country currently uses a system to store information about all ‘currently’ licensed drivers.
A licensed driver has the following information stored about them in a record;
1. Given name(s) of the license holder. (Not more then 128 characters (may have spaces))
2. Surname of the license holder. (Not more then 128 characters (may have spaces))
3. Driver license number.
4. The sex of the license holder.
5. The residential address of the license holder. (Not more then 256 characters (may have spaces))
6. The registration number of the car the license holder drives. (A combination of characters and numbers. The string must be six long.)
The current system allows users to add new license holders, modify details about pre-existing license holders and remove a license holder by entering the license number.
Your job is to write a C++ program to replace the pre-existing system. In doing so your program must;
1. Allow users to add new license holders to the system.
2. Allow users to remove a license holder from the system.
3. Allow users to search on a license number, display and potentially modify a matched record.
The program is an interactive and menu driven. A user can choose from a set of options to perform a particular action. It also to has persistent storage. Each license holder has one record in the system. Records a fixed length, therefore the C++ type string cannot be used in the implementation. The first time the program is run, there is no data file in the file system. The file is a random access file used to store a collection of records about license holders. The name of this file is data.dat.
If the file already exists when the program starts, you are to read the all records from the file, into an array of records. You can assume the maximum size of the array is 500. That is at any given time, your system can hold a maximum of 500 license holders.
During runtime a user may add new license records. When a user adds a new record, the program prompts the user to enter all details relevant to the record. The record is inserted into the first available slot in the array of records and written to the file immediately at the corresponding record location. If there are no available records an error is to be printed.
When a user removes a record, all elements of the record are cleared and the record is marked as available. The corresponding record in the file is then marked as available.
Users can search/display/modify a record. The search key is the license number. If there is a record with the license number matching the specified key, the record is displayed and the user is given the option of modifying the record. A user can search for a record and display it without performing any modifications.
Your program should perform the appropriate checks to ensure valid input at ALL times.