So what is happening is that I run this code and when I run the divide function it will sometimes crash or say that I entered a wrong answer when it’s correct. I know I need to check option while loop but I'm not too concerned with that at the moment. Please check the divide function and tell me what I need to revise.

So what is happening is that I run this code and when I run the divide function it will sometimes crash or say that I entered a wrong answer when it’s correct. I know I need to check option while loop but I'm not too concerned with that at the moment. Please check the divide function and tell me what I need to revise.Code:`bool check_flat(int x, int y) //checks that two numbers divide evenly to one another`

{

int int_check = x/y;

double check_x = x;

double check_y = y;

double double_check = check_x/check_y;

if (int_check < double_check)

return (false);

else

return (true);

}

double dividing (int x, int y) //dividing fuction (this is giving me problems)

{

bool flat = false;

int first_number;

int second_number;

int greater_number;

int lesser_number;

while (flat == false) //when I mean flat I mean the two numbers divide evenly to one another, no decimals

{

first_number = rand() % (x - y + 1);

second_number = rand() % (x - y + 1);

if (first_number > second_number) //checks to find the bigger of the two numbers and then set one to greater_number and one to lesser_number

{

greater_number = first_number;

lesser_number = second_number;

}

else

{

greater_number = second_number;

lesser_number = first_number;

}

flat = check_flat(greater_number, lesser_number); //calls check_flat function

}

int main()

{

time_t seconds;

time(&seconds);

srand((unsigned int) seconds);

int max;

int min;

int option;

int difficulty;

cout << "Math practice";

cout << "What would you like to practice? \n"

<< "1. Adding \n"

<< "2. Subtracting \n"

<< "3. Multiplying \n"

<< "4. Dividing \n";

cin >> option; //type of math problems

cout << "Difficulty? \n"

<< "1. Very Easy (1-5) \n"

<< "2. Easy (1-10) \n"

<< "3. Medium (5-15) \n"

<< "4. Difficult (1-25) \n"

<< "5. Very Difficult (1-50) \n"

<< "6. Extremely Difficult (1-100) \n";

cin >> difficulty; //range of numbers

while ((difficulty < 1)||(difficulty > 6)) //checking difficulty

{

cout << "Enter a difficulty between 1 through 6 \n"

<< "1. Very Easy (1-5) \n"

<< "2. Easy (1-10) \n"

<< "3. Medium (5-15) \n"

<< "4. Difficult (1-25) \n"

<< "5. Very Difficult (1-50) \n"

<< "6. Extremely Difficult (1-100) \n";

cin >> difficulty;

}

switch(difficulty) //sets max and min randoms to be generated

{

case 1: min = 1; max = 5; break;

case 2: min = 1; max = 10; break;

case 3: min = 5; max = 15; break;

case 4: min = 1; max = 25; break;

case 5: min = 1; max = 50; break;

case 6: min = 1; max = 100; break;

}

for(int i = 10; i >= 1; i--) //generates 10 problems at a time

{

switch (option)

{

case 1: adding(min, max);break; //calls adding fuctions

case 2: subtracting(min, max);break; //calls subtracting fuctions

case 3: multiplying(min, max);break; //calls multiplying fuction

case 4: dividing(min, max);break; //calls dividing fuction

}

}

system("PAUSE"); //pauses system

}

Thank you,

ShadowIII