Hi there!
I am just starting out in c++ and so far, its going ok. I have a small problem in a simple program that is frustrating me, so I am hoping someone will point me in the right direction of where I've gone wrong.
The program basically prompts the user to input two integer values, then outputs all the odd numbers between these two integer values (and their squares), and also outputs all the even numbers between the two inputted values, along with the sum of these even numbers.
I have the program working sufficiently, so long as the first value entered by the user is smaller than the second value entered. Thats the small problem I've encountered; it should not make a difference between the size of the values entered. I think i need to change the condition in the for loop, but I've tried various conditions without success
Here is the program:

#include <iostream>
#include <conio.h>
#include <iomanip>

using namespace std;

int main()
    int a,b,a1,b2,square; //declaring variables
    int sum = 0;
    cout << "Enter two integers: " << endl;  //user inputs two integers
    cin >> a >> b;
    cout << "The numbers entered are: " << endl;  //displays the integers listed
    cout << "1. " << a << endl;
    cout << "2. " << b << endl;        
    a1 = a;
    b2 = b;
    //for odd numbers
    cout << "The odd numbers between " << a << " and " << b << 
           ", along with their squares are:" << endl;
    for (a++;a < b;a++)
          if ((a%2) !=0)
               cout << setw(4) << a;
               square = a * a;  //formula for finding the square of an integer
               cout << " = " << square;
          } //end if
    } //end for
    cout << endl << endl;
    //for even numbers
    cout << "The even numbers between " << a1 << " and " << b2 << 
          " are:" << endl;
    for (a1++;a1 < b2;a1++)
       if((a1%2) == 0) 
           cout << setw(4) << a1; 
           sum += a1;  //formula for finding the sum of the even integers
       } //end if    
    } //end for
    cout << endl; 
    cout << "The total sum of all the even numbers is: " << sum;
    cout << endl << endl;
    return 0;
}//end main
Congratulations on being able to use code tags on your first post. Keep up the good work.
8 Years
Discussion Span
Last Post by bonnie1702

In both your 'for' loops your condition needs 'a' to be smaller than 'b', so before your 'for' loop but after your call for user input 'cin', you need a condition which checks the values entered, and then ensures that a is smaller than b

for example

//check to ensure that a is smaller than b
if(a > b)
	int temp = a;
	a = b;
	b = temp;

your code should now work fine even if a is greater than b


Hi all,

Just want to say thanks for your help, sorry it took so long to get back. I got the program working just fine.

Thanks again

This question has already been answered. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.