/* When I run this code the random numbers that are supposed to be generated will not cout. Any suggestions would be a great help!*/

``````int main()
{
Fraction operand1, operand2, resultant;
int a, b, c, n, d;
char op, choice;
//char opchar:
srand(time(0));
system("cls");

//a.setAll(1); //1 indicates that it's the 1st fraction
//b.setAll(2); //2 indicates that it's the 2nd fraction

cout << "Enter a menu selection (1 - 4)\n"<<"1 - Addition\n"<<"2 - Subtrtaction\n"<<"3 - Multiplication\n"<<"4 - Division\n"<<endl;
cin >> choice;

switch (choice)
{
case 1:
break;
case 2:
op = FRAC_SUB;
break;
case 3:
op = FRAC_MUL;
break;
case 4:
op = FRAC_DIV;
break;
//default: //if operator is illegal shut program down
cout << "Invalid operator." <<endl;
return (0);
}

/*if ((a.den == 0) || (b.den == 0)) //fraction undefined if so
cout << "\n\nFraction is undefined.";
else //else fraction can be worked with
{
c = Fraction_Do_Op(op, a, b);
cout << "\n\n";
c.reduce(); //reduce to simplify fraction
c. DisplayMixed();
}*/

do{
n = 1 + (rand() % 11);
d = 2 + (rand() % 11);
operand1.setNum(n);
operand1.setDen(d);

n = 1 + (rand() % 11);
d = 2 + (rand() % 11);
operand2.setNum(n);
operand2.setDen(d);

n = operand1.getNum() * operand2.getNum();
d = operand1.getDen() * operand2.getDen();

resultant.setNum(n);
resultant.setDen(d);
resultant.reduce();

do
{
cout <<"\n\nWhat is ";
//operand1.print();
cout << " / ";
//operand2.print();
cout << "?";
cin >> n >> op >> d;
}while(n != resultant.getNum() || d != resultant.getDen());

cout <<"\nCORRECT!!! Enter q to quit, Enter c to continue ->";
cin >> choice;
}
while(choice != 'q');

return 0;

}``````

## All 5 Replies

Please give a better description of the problem than "random numbers that are supposed to be generated will not cout"

That makes little sense.

I am using overloaded operators in a fraction program. Part of the program is to have random numbers generated to the screen for the user to guess the correct answer. I can not get the random numbers to print to the screen. Everything else will.

Sorry, I was asking for details, not concepts. What, when, where type of information. With 83 lines of code going all over the place, pinpoint the problem area.

60-62 , 66-72

60-62

I see no definition of `resultant.setNum(n);` so maybe it doesn't do what you want it to do.

66-72

These lines output nothing but text then input 3 values.

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.