I am working on a lab and having trouble developing a class to run with the program. I have completed all the arithmetic for the program but not sure how to included the functions in with a "class".

The instructions are to develope class called "rational"- and should contain the following
a. 2 private integer data members representing the numerator and denominator of the rational #
b. a public member function that will allow any function to retrieve the numerator, using an interger return value.
c. a public member function that will allow any function to retrieve the denominator, using an interger return value.
d. a constructor that accepts the numerator and denominator values as arguments.

The main function should included 4 functions (addem, subtracem,mutiplyem,dividem)

I think I have the functions correct. Just not sure on how to include the class and constructor.

#include <iostream>
#include <cassert>
#include <math.h>

using namespace std;


void addem (int n1, int d1, int n2, int d2, int na, int da)
{
da = d1 * d2; // Get common donimator for fractions
na = ((da/d1)*n1)+((da/d2)*n2); // Perform addition on fractions


cout <<n1<<"/"<<d1<<" + "<<n2<<"/"<<d2;
cout <<" = "<<na<<"/"<<da<<"\n";
}

void subtractem (int n1, int d1, int n2, int d2, int na, int da)
{
da = d1 * d2; // Get common donimator for fractions
na = ((da/d1)*n1)-((da/d2)*n2); // Perform subtraction on fractions


cout <<n1<<"/"<<d1<<" - "<<n2<<"/"<<d2;
cout <<" = "<<na<<"/"<<da<<"\n";
}

void multiplyem (int n1, int d1, int n2, int d2, int na, int da)
{
da = d1*d2; // Get common donimator for fractions
na = n1*n2; // Perform multiplication on fractions


cout <<n1<<"/"<<d1<<" * "<<n2<<"/"<<d2;
cout <<" = "<<na<<"/"<<da<<"\n";
}
void dividem (int n1, int d1, int n2, int d2, int na, int da)
{
da = d1*n2; // Get common donimator for fractions
na = n1*d2; // Perform multiplication on fractions


cout <<n1<<"/"<<d1<<" / "<<n2<<"/"<<d2;
cout <<" = "<<na<<"/"<<da<<"\n";
}

int main () {

int numerator1,denominator1,numerator2,denominator2,nummeratoranswer,denominatoranswer; // Declare Numerator and Denominator Variables


cout << "Enter a numerator and denominator of a fraction seperated by a space: "; // Prompt and get numerators and denominators to use in operation
cin >> numerator1 >> denominator1;
cout << "Enter a numerator and denominator of a fraction seperated by a space: ";
cin >> numerator2 >> denominator2;;

addem (numerator1,denominator1,numerator2,denominator2,nummeratoranswer,denominatoranswer);
subtractem(numerator1,denominator1,numerator2,denominator2,nummeratoranswer,denominatoranswer);
multiplyem(numerator1,denominator1,numerator2,denominator2,nummeratoranswer,denominatoranswer);
dividem(numerator1,denominator1,numerator2,denominator2,nummeratoranswer,denominatoranswer);

system ("pause");

return 0;
}

Dave Sinkula commented: Use code tags. +0

Recommended Answers

All 3 Replies

u can use . operator or u can crate object of your class by...class_name objectnae;

First, a tangential comment. Your function "addem" has a problem. You want the answers to appear in the variables na and da, so you'r asking the function to change the value of variables on the parametr list. You can't do this successfully unless you make them reference variables. (i.e., just replace na by %na, etc, in the parameter list).

Now to the main point: you need a class with 2 data members and 3 function members, as you've described. Say this class is called "rat". Your addem function (for example) shouldn't be a function of 4 integers (n1, d1, n2, d2) but rather of two objects of class rat.

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.