I see there are hundreds of coins in the market. Can I use one program to mine all of them?
I assume you know that mining with personal computer isn't profitable.
There are a variety of algorithms, first you need to find out which algorithm the cryptocurrency you want to mine is based on.
Then find a CPU or GPU mining software that support that algorithm.
One CPU miner that is widely used, and support most of the available algorithms is CPUminer-multi .
You can find the latest about mining on this forum https://bitcointalk.org/index.php?board=160.0