I have a simple program. The main is provided by my professor. We’re to write 3 functions called enter, simplify, display.
main
#include <iostream>
using namespace std;
// #include "fraction.h"
struct Fraction {
int numerator;
int denominator;
};
void enter(struct Fraction* fraction);
void simplify(struct Fraction* fraction);
void display(struct Fraction fraction);
int main()
{
struct Fraction fraction;
cout << "Fraction Simplifier" << endl;
cout << "===================" << endl;
enter(&fraction);
//simplify(&fraction);
//display(fraction);
}
void enter(struct Fraction* fraction) {
cout << "Numerator: " << endl;
cin >> *fraction.numerator; // the line that doesn't work, line 31
}
void simplify(struct Fraction* fraction) {}
void display(struct Fraction fraction) {}
error:
w2.cpp:31:19: error: request for member ânumeratorâ in âfractionâ, which is of non-class type âFraction*â
the line in question
void enter(struct Fraction* fraction) {
cout << "Numerator: " << endl;
cin >> *fraction.numerator; // the line that doesn't work, line 31
}
You have an order of operations problem. You want:
Or more idiomatically: