What do you mean with "name his/her own structs"? Are you saying you want the users to name the actual object of the struct??? Users shouldn't even know that you're using a struct, all they care about is that you save their information. You can declare an array of struct objects (100 for example) and then use them as needed. Or if you want to get fancy, look into Vector (dynamic) arrays.
On a side note, why not use the string class instead of all the char[] arrays:
#include <string>
...
string username;
cin>>username;
cout>>username;
...