...

View Full Version : C++ Help



eLK
10-10-2012, 04:30 AM
So this is for school, and it's supposed to get 3 numbers from the input and output if no numbers are the same, 2 numbers are the same, or all the numbers are the same. I know I'm supposed to use an else if statement but not sure really how to do it. Here's what I have so far


#include <iostream>
#include <iomanip>
using namespace std;

int main()
{
int num1, num2, num3;

// Get User Input

cout << "Please enter the first number (an integer): ";
cin >> num1;

cout << "Please enter the second number (an integer): ";
cin >> num2;

cout << "Please enter the third number (an integer): ";
cin >> num3;

cout << endl;

// Go Program Go!

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

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

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

else
cout << "None of the numbers are the same." << endl;

cout << endl;

return 0;

}

It's displaying both couts, what's causing the else to output?

oracleguy
10-10-2012, 05:43 PM
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.



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.



EZ Archive Ads Plugin for vBulletin Copyright 2006 Computer Help Forum