You didn't put the actual else ifs in. With your code each if statement is independent from each other. If you use your debug and step through your program line by line, you'd see what it is doing.

Code:

if (num1 == num2)
cout << "Exactly two of the numbers are the same." << endl;
else if (num2 == num3)
cout << "Exactly two of the numbers are the same." << endl;
else if (num1 == num3)
cout << "Exactly two of the numbers are the same." << endl;
else
cout << "None of the numbers are the same." << endl;

Your checks though are not sufficient in the event that all three numbers are the same. In addition you could consolidate all of the checks into one if statement using logical ORs.