Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- 1- You are developing a Fraction structure for Teacher's Pet Software. The structure contains three data fields for whole number, numerator, and denominator. Using the same structure, write the functions described below.
- An enterFractionValue() function that declares a local Fraction structure and prompts the user to enter values for the Fraction. Do not allow the user to enter a value of 0 for the denominator of any Fraction; continue to prompt the user for a denominator value until a valid one is entered. The function returns a data-filled Fraction structure to the calling function.
- A reduceFraction() function that accepts a Fraction structure and reduces it to proper form, returning the reduced Fraction. For example, a Fraction entering the function as 0 2/6 would be reduced to 0 1/3, and a Fraction entered as 4 18/4 would be reduced to 8 ½.
- A displayFraction() function that displays any Fraction structure passed to it. This function displays a fraction with a slash between the numerator and denominator.
- A main() function that declares a Fraction structure and continues to get Fraction values from the user until the user enters a Fraction with value 0 (both the whole number and the numerator are 0). For each Fraction entered, display the Fraction, reduce the Fraction, and display the Fraction again.
- Due date: February 28.*/
- #include<stdio.h>
- struct Fraction {
- int wholeNumber;
- int numerator;
- int denominator;
- };
- struct Fraction enterFractionValue(){
- struct Fraction fraction;
- do {
- printf("Enter the numerator / the denominator of the fraction. Example: 1/2\n");
- scanf("%d/%d", &fraction.numerator, &fraction.denominator);
- if (fraction.denominator < 0)
- printf("Enter a postive demoninator, if you want the fraction to be negetive make the numerator positive\n");
- } while (fraction.denominator < 0);
- fraction.wholeNumber= fraction.numerator/fraction.denominator;
- return fraction;
- }
- struct Fraction reduceFraction(struct Fraction fraction) {
- for (int i = 1; i < 10; i++) {
- if (fraction.numerator%i==0 && fraction.denominator%i ==0){
- fraction.numerator/=i;
- fraction.denominator/=i;
- }
- }
- return fraction;
- }
- void displayFraction(struct Fraction fraction) {
- printf("%d/%d\n", fraction.numerator, fraction.denominator);
- }
- int main (){
- struct Fraction fraction;
- fraction = enterFractionValue();
- displayFraction(fraction);
- printf("Now trying to reduce the fraction\n");
- fraction = reduceFraction(fraction);
- displayFraction(fraction);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement