0

I've created a class Fraction, and declared a private static character to hold the slash for displaying the fraction in fraction form later on. I can't seem to get the static char to compile and I need to figure out what I've done wrong, thank you for the help, jennie

class Fraction
{ 
private:
    double num, den;
    double decimal;
    static char slash;

        void calculateDecimalValue(double decimal);

public:
        void enterFractionValue();      
        void displayFraction();
        static void displaySlash();
};
//implementation part-to be named-fraction.cpp
 char Fraction::slash="/";
void Fraction::displaySlash()
{
    cout<<slash<<endl;
}    

void Fraction::enterFractionValue()
{    
cout <<"Please enter a numerator "<<endl;
cin >>num;
cin.ignore(80,'n');
cout <<"The numerator is "<<num<<endl;

cout <<"Please enter a denominator "<<endl;
cin >>den;
cin.ignore(80,'n');

while (den == 0)
{
  cout<<"Enter a number greater than zero."<<endl;
cin >>den;
cin.ignore(80,'n');
}  
cout <<"The denominator is "<<den<<endl;
}

void Fraction::calculateDecimalValue(double decimal)
{
decimal = den/num;
}


void Fraction::displayFraction()
{
   int input;

    cout<<"Enter the number 1 to see fraction in fraction format or "<<endl;
    cout<<"the number 2 to see it in decimal form"<<endl;
    cin>>input;
     cin.ignore(80,'n');
while (input != 1 && input !=2)
{
cout<<"Your entry must be a 1 or a 2, please try again."<<endl;
  cin>>input;
  cin.ignore(80,'n');
}
if   (input == 1)

cout<<"The fraction in traditional form is "<<num <<slash<<den<<endl;

if (input == 2)
    cout<<"The fraction in decimal form is " <<decimal<<endl;

}         
//main function to be named testfraction.cpp
#include <iostream.h>
#include "fraction.h"
#include "fraction.cpp"
int main()
{
    Fraction oneFraction;
    oneFraction.enterFractionValue();
    oneFraction.displayFraction();    
   cout << "Press Enter to continue";
getchar(); 
return 0;  
}

Edited by pyTony: fixed formating

2
Contributors
1
Reply
2
Views
12 Years
Discussion Span
Last Post by Dave Sinkula
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.