Welcome to our community

Be a part of something great, join today!

C++ Homework Help

dnc1786

New member
Feb 15, 2017
1
I am not looking for an answer, just guidance....

My assignment is to ask the user for a number between 3 and 10 (inclusive). Using a loop, calculate the product of the numbers between 2 and that number. For example, if the user chooses 5, the result would be 2 x 3 x 4 x 5 = 120.

Sample run: When input is:
5
The output exactly matches
Please enter a number from 3 to 10: 5
2 x 3 x 4 x 5 = 120

So far I have come up with this, which works perfectly for input 3 through 5. However, the product is wrong when the input is anything above five and I am completely lost as to what is wrong with the code:

Code:
#include <iostream>
using namespace std;

int main (){
   int userInt = 0;
   int multiple = 2;
   int product = 1;
   
   
cout << "Please enter a number from 3 to 10: ";
cin >> userInt;
cout << userInt << endl;

if ((userInt < 3) || (userInt >= 11)){
   cout << "Please follow the directions!" << endl;
}
else {

   cout << "2";
   ++multiple; 
   
   while (multiple <= userInt){
      cout << " x " << multiple;
      ++multiple;
      product = product * multiple;
      
   }
cout << "  = " << product << endl;
}

return 0;
}
 
Last edited:

Joppy

Well-known member
MHB Math Helper
Mar 17, 2016
256
I take it you finished your homework... In any case:

C++:
#include <iostream>
using namespace std;

int main (){
    int userInt = 0;
    cout << "Please enter a number from 3 to 10: ";
    cin >> userInt;
    cout << userInt<< endl;

    if (!(userInt >= 3 && userInt <= 10)) {
       cout << "Please follow the directions!" << endl;
    } else {

    cout << "2";
    uint multiplier = 2;
    uint result = userInt;
    while (userInt > 2) {
        cout << " x " << ++multiplier;
        result *= (userInt - 1);
        userInt--;
    }

    cout << " = " << result << endl;
}

    return 0;
}
Compile, debug and run here.