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 () {

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;;

system ("pause");

return 0;
}

Use code tags.
4
Contributors
3
Replies
4
Views
13 Years
Discussion Span
Last Post by prog-bman

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.

This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.