I have this error when debugging my code, the problem is to print out the biggest fraction number:
For example:
1/2 5/8 12/9
Expect:
12/9
Reality: My code prints out all of the fraction numbers that I enter
1/2 5/8 12/9
I just can't quite figure out what went wrong. How can I debug this?
The struct
concept is just so confusing.
Here is my code:
#include <iostream>
#include <cmath>
using namespace std;
struct FractionNumber
{
int Numerator;
int Denominator;
float FractionNumber;
};
void TypeIn(FractionNumber a[] ,int n)
{
for (int i=0; i<n; i++)
{
cout << "Enter Numerator " << i+1 << ": ";
cin >> a[i].Numerator;
cout << "Enter Denominator " << i+1 << ": ";
cin >> a[i].Denominator;
a[i].FractionNumber=a[i].Numerator/a[i].Denominator;
}
}
int FindBiggest(FractionNumber a[], int n)
{
FractionNumber Biggest=a[0];
for (int i=0; i<n; i++)
{
if(a[i].FractionNumber > Biggest.FractionNumber)
{
Biggest.FractionNumber = a[i].FractionNumber;
}
}
return Biggest.FractionNumber;
}
void PrintBiggest(FractionNumber a[], int n)
{
for (int i=0; i<n; i++)
{
if(a[i].FractionNumber = FindBiggest(a,n))
{
cout << "biggest FractionNumber: " << a[i].Numerator << "/" << a[i].Denominator << endl;
}
}
}
int main()
{
int n;
FractionNumber a[100];
cin >> n;
TypeIn(a,n);
PrintBiggest(a,n);
return 0;
}