Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Please check my solution and assist me with it and show me where i made my mistakes : #include using namespace std; class fraction {

Please check my solution and assist me with it and show me where i made my mistakes :

#include

using namespace std;

class fraction {

int numerator;

int denominator;

double wholenumber;

fraction( int numerator = 0, int denominator = 1);

fraction(double wholenumber, int numerator = 0, int denominator = 1);

void reduceFraction();

};

fraction::fraction(numerator, denominator) {

numerator = numerator;

denominator = denominator;

wholenumber = 0;

reducefraction();

}

fraction::fraction(double wholenumber, int numerator, int denominator) {

numerator = numerator;

denominator = denominator;

wholenumber = wholenumber;

reduceFraction();

};

void fraction::reducefraction() {

if (wholenumber == 0) {

for (int index = denominator * numerator; index--) {

if ((denominator % index == 0) && (numerator % index == 0)) {

denominator /= index;

numerator / = index;

}

}

}

else {

int number = denominator * wholenumber + numerator;

for (int index = denominator * number; index > 1; index--) {

if ((denominator % index == 0) && (number% index == 0)) {

denominator /= index;

number /= index;

}

}

wholenumber = number / denominator;

numerator = number % denominator;

}

cout << wholenumber << "" << numerator << "/" << denominator;

}

void main() {

int numerator;

int denominator;

double wholenumber;

cout << " Program to reduce fraction" << " Enter 0 when you don't want to enter value";

cout << "Enter a whole number";

cin >> wholenumber;

cout << "Enter numerator";

cin >> numerator;

cout << "Enter denominator";

cin >> denominator;

if (wholenumber == 0 && denominator == 0) {

cout << "Denominator has been set to defult value 1"

fraction(numerator);

}

}

else if (denominator == 0) {

cout << " Denominator has been set to defult value 1";

fraction(wholenumber, numerator);

}

else fraction(wholenumber, numerator, denominator)

getch();

}

a. You have been developing a Fraction class for Teachers Pet Software that contains

several fields and functions.

Add two constructors to the class. The first accepts two integer values representing the

numerator and denominator. If a single integer is passed to the constructor, use it as the

numerator, and use a default value of 1 for the denominator. If no values are passed to

the constructor, use a default value of 0 for the numerator and 1 for the denominator.

When any Fraction is constructed with a 0 argument for the denominator, force the

denominator value to 1.

The second constructor requires three arguments: a whole number portion for a Fraction,

a numerator, and a denominator. This constructor executes when any Fraction object

is instantiated using three integer arguments. As with the other constructor, when any

Fraction is constructed with a 0 argument for the denominator, force the denominator

value to 1.

Whenever a Fraction object is constructed, automatically reduce the Fraction to the

proper format. For example, a Fraction created using 0, 2, and 4 as arguments should

be reduced to 1/2, and a Fraction created as 3 10/2 should be reduced to 8 0/1.

Write a main()function that declares several Fraction objects, and confirm that the

class works correctly.

Save the file as Fraction.cpp.

b. Create a MathProblem class that contains four Fraction objects: the first Fraction

operand in a problem, the second Fraction operand in a problem, the users Fraction

answer to a problem, and the correct Fraction answer to a problem. The MathProblem

class also contains a character field that stores an operator (for now, assume the operatorwill be either + or *) and contains an integer or bool field named isAnswerCorrect,indicating whether the user correctly answered the problem. For example, a MathProblem

object containing 1/2, 1/4, and + for the operands and operators, 3/4 for the correct answer,

and 3/8 for the users answer would contain a 0 or false in the isAnswerCorrect field

because the correct answer and users answer do not match. Set the isAnswerCorrect

field to true if the users answer is equivalent to the correct answer; for example, if 3/4 is

the correct answer, then 3/4, 6/8, and 9/12 are all correct.

Include a function named setProblem()that sets a MathProblems values with arguments

that include two Fraction operands and an operation. This function calculates and stores

the correct answer, assigns 0 to the users answer, and sets isAnswerCorrect to 0 or false.

Include a displayProblem()function that displays the math problem as a question, and an

askUserForAnswer()function that accepts the users answer from the keyboard and

assigns an appropriate value to isAnswerCorrect.

Include any other MathProblem functions you feel are useful and appropriate.

Write a main()function that declares five MathProblem objects you can use to test a students

fraction arithmetic skills. Assign values to the MathProblems. Display the problems and

accept the answers. When the five problems are completed, display each of the problems,

along with the students answer, the correct answer, and a message indicating whether the

student is right or wrong. Finally, show the student a score indicating the percentage of

problems answered correctly.

Save the file as MathProblem.cpp.

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Intelligent Databases Object Oriented Deductive Hypermedia Technologies

Authors: Kamran Parsaye, Mark Chignell, Setrag Khoshafian, Harry Wong

1st Edition

0471503452, 978-0471503453

More Books

Students also viewed these Databases questions

Question

The coordinates of the vertex are _______. + V= (3, 2)

Answered: 1 week ago