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;
    getch();
    return 0;
}//end main
Salem commented: Congratulations on being able to use code tags on your first post. Keep up the good work. +20

Recommended Answers

All 5 Replies

After the cin statement if a < b then just swap them so that you don't have to code for that condition.

cikara21: Huh? Is that supposed to mean something?

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
n.m

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.