In my C++ program, the function takes in an upper and lower bound. Then the user keeps entering integers until 0 to stop. I tried to store the values the user entered into an array and then check each array slot to see if it is in bounds. However, my if statements in my for loop do not seem to check if the value is in bounds when I used the upper and lower variables, but when I manually plug in the same integers in the if statements (34 and 100), the function works. #include <iostream>using namespace std; void areNumbersInBound(int upper, int lower); int main(){areNumbersInBound(34, 100);} void areNumbersInBound(int upper, int lower){int upperLimit = (int)upper;int lowerLimit = (int)lower; int input;int count = 0;int i = 0;bool check = true;bool boundCheck = true;int array[20] = {};cout << "Please enter numbers until you are done, then enter 0." << endl;while (check){cin >> input;if (input != 0){count++;array[i] = input;i++;}else if (input == 0)check = false; }for (int i = 0; i < (count); i++){ if ((array[i] >= lowerLimit) && (array[i] <= upperLimit)){boundCheck = true;}if ((array[i] < lowerLimit) || (array[i] > upperLimit)){ boundCheck = false;break;}} cout << boolalpha << boundCheck << endl;}
In my C++ program, the function takes in an upper and lower bound. Then the user keeps entering integers until 0 to stop. I tried to store the values the user entered into an array and then check each array slot to see if it is in bounds. However, my if statements in my for loop do not seem to check if the value is in bounds when I used the upper and lower variables, but when I manually plug in the same integers in the if statements (34 and 100), the function works.
#include <iostream>
using namespace std;
void areNumbersInBound(int upper, int lower);
int main()
{
areNumbersInBound(34, 100);
}
void areNumbersInBound(int upper, int lower)
{
int upperLimit = (int)upper;
int lowerLimit = (int)lower;
int input;
int count = 0;
int i = 0;
bool check = true;
bool boundCheck = true;
int array[20] = {};
cout << "Please enter numbers until you are done, then enter 0." << endl;
while (check)
{
cin >> input;
if (input != 0)
{
count++;
array[i] = input;
i++;
}
else if (input == 0)
check = false;
}
for (int i = 0; i < (count); i++)
{
if ((array[i] >= lowerLimit) && (array[i] <= upperLimit))
{
boundCheck = true;
}
if ((array[i] < lowerLimit) || (array[i] > upperLimit))
{
boundCheck = false;
break;
}
}
cout << boolalpha << boundCheck << endl;
}
Trending now
This is a popular solution!
Step by step
Solved in 3 steps with 1 images