Currently, a user with contact user type cannot be assigned with the an administrator role and vice-versa. You need to create separate accounts for a user if you wish to make them both contact and administrator in your system.
However, we have a trick to use the same email address of the user to create both contact and administrator accounts. To do that, simply add + sign in contact's email address to register the contact as an administrator.
So, when that contact logs in next time, he/she simply adds the + sign in his email address to log in as an administrator. Add + sign as in the example below. You can also add a trailing number besides the + sign.
Example: your.name+@gmail.com
Another example: your.name+22@gmail.com