Hi,
The problem with that code is that you do not understand arrays. Problems:
1) The prototypes for FindSmallest (btw, this one could make use of the "break" keyword) and Swap do not mention any arrays as arguments.
2) In SelectionSort, you are passing characters instead of arrays to both FindSmallest and Swap.
3) In order to do lexicographic ordering, you need to concatenate the string. Your key is only the first name - the rest you are not taking into account.
4) You are writing C-style C++ which is a very bad coding practice.
All of the above problems (esp. the last one) can be solved by reading a good C++ book. I recommend at least one of the following:
* The C++ Programming Language, special ed. by Bjarne Stroustrup
This book was written by Bjarne Stroustrup, the creator of C++. You should probably read this book often if you want to learn/know C++ (this book can be easily consulted as a reference). In it, he puts great emphasis on portability and good coding practices. He also argues that it is easier to go from C++ to C than the other way around.
* Thinking in C++, 2nd ed. by Bruce Eckel
This is a very popular book on C++ that presents the proper C++ mindset by following just a few simple rules laid out by the author (who, like Bjarne, is a member of the C++ standards committee). Luckly, he is kind enough to share it for free:
Volume 1: http://www.mindviewinc.com/downloads/TICPP-2nd-ed-Vol-one.zip
Volume 2: http://www.mindviewinc.com/downloads/TICPP-2nd-ed-Vol-two.zip
* Accelerated C++ by by Andrew Koenig & Barbara E. Moo
Good book for learning C++, a lot of people are fond of it.
Cheers,
Bogdan