I need Assistance with my solution please fix it and explain how it was done and
ID: 3736587 • Letter: I
Question
I need Assistance with my solution please fix it and explain how it was done and where i made the mistake . Thank you
You are developing a Fraction structure for Teacher’s Pet Software. The structure contains
three public data fields for whole number, numerator, and denominator. Using the
same structure, write a main()function that declares an array of five Fraction objects.
Prompt the user for values for each field of each Fraction. Do not allow the user to enter
a value of 0 for the denominator of any Fraction; for each Fraction, continue to prompt
the user for a denominator value until a non-zero value is entered. After all the objects
have been entered:
» Display the whole number, numerator, and denominator for each of the five Fraction
objects as entered.
» Next, display the five Fraction objects all converted to proper form—that is, if the user
entered a value such as 2 6/4, now display it as 3 1/2.
» Next, display the sum of all the Fractions and the arithmetic average of all the
Fractions.
My solution :
#include <iostream>
using namespace std;
//Using the struct fraction
struct fraction
{
int wholenumber;
int numerator;
int denominator;
};
int main()
{
// Declare an object of fraction
const int size = 5;
fraction fraction[size];
// Read five function objects
for (int index = 0; index < 5; index++);
{
cout << "Enter the whole number of fraction : ";
cin >> fraction[size].wholenumber;
cout << "Enter the numerator number of fraction : ";
cin >> fraction[size].numerator;
cout << "Enter the denominator number of fraction : ";
cin >> fraction[size].denominator;
do
{
cout << "Enter the denominator number of fraction : ";
cin >> fraction[size].denominator;
while (fraction[size].denominator == 0)
cout << "invalid entry";
cout << "Enter the denominator number of fraction:" ;
cin >> fraction[size].denominator;
}
{
//Calculations
fraction[size].numerator = fraction[size].wholenumber*fraction[size].denominator + fraction[size].numerator;
fraction[size].denominator = fraction[size].denominator;
fraction[size].wholenumber = fraction[size].numerator / fraction[size].denominator;
fraction[size].numerator = fraction[size].numerator % fraction[size].denominator;
fraction[size].denominator = fraction[size].denominator;
}
for (int index = 0; index <= fraction[size].numerator && index<= fraction[size].denominator; ++index);
{
if(fraction[size].numerator% index == 0 && fraction[size].denominator% index ==0)
Explanation / Answer
#include <iostream>
using namespace std;
struct fraction
{
int wholenumber;
int numerator;
int denominator;
};
int hcf(int num1, int num2)
{
while (num1 != num2)
{
if (num1 > num2)
{
num1 = num1 - num2;
}
else
{
num2 = num2 - num1;
}
}
return num1;
}
int main()
{
int size = 5;
int index;
struct fraction fr[5];
int numfactor;
int factor;
int cal,c,d,sum1=0,sum2=0,sum3=0,all=0;
for (index = 0; index < 5; index++)
{
cout << "Enter the whole number of fraction : ";
cin >>fr[index].wholenumber;
cout << "Enter the numerator number of fraction : ";
cin >> fr[index].numerator;
do
{
cout << "Enter the denominator number of fraction : ";
cin >> fr[index].denominator;
if(fr[index].denominator==0)
cout << "invalid entry ";
}while (fr[index].denominator == 0);
}
cout<<" All fraction which you entered "<<endl;
for(index=0;index<size;index++){
cout<<fr[index].wholenumber<<" "<<fr[index].numerator<<"/"<<fr[index].denominator<<" ";
}
cout<<" Modified fractions ";
for(index=0;index<5;index++){
cal=fr[index].denominator*fr[index].wholenumber+fr[index].numerator;
numfactor = hcf(cal,fr[index].denominator);
c=cal/numfactor;
d=fr[index].denominator/numfactor;
factor = factor*d;
sum1=sum1+c;
sum2=sum2+d;
fr[index].wholenumber = c/d;
fr[index].numerator = c%d;
fr[index].denominator = d;
cout<<fr[index].wholenumber<<" "<<fr[index].numerator<<"/"<<fr[index].denominator<<" ";
}
cout<<"Sum of fraction ";
for(index=0;index<5;index++){
cal=fr[index].denominator*fr[index].wholenumber+fr[index].numerator;
all=all+factor/fr[index].denominator+fr[index].numerator;
}
cout<<all<<"/"<<factor;
cout<<"Average"<<endl;
cout<<all<<"/"<<factor*5;
}
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.