12. Create a four-function calculator for fractions. The user should type the first fraction, an operator, and a second fraction. The program should then display the result and ask whether the user wants to continue.

Chapter 3: 

Loops and Decisions

Programming Exercise

Problem # 12:

Create a four-function calculator for fractions. (See Exercise 9 in Chapter 2, and
Exercise 4 in this chapter.) Here are the formulas for the four arithmetic operations applied to fractions:
Addition: a/b + c/d = (a*d + b*c) / (b*d)
Subtraction: a/b - c/d = (a*d - b*c) / (b*d)
Multiplication: a/b * c/d = (a*c) / (b*d)
Division: a/b / c/d = (a*d) / (b*c)
The user should type the first fraction, an operator, and a second fraction. The program should then display the result and ask whether the user wants to continue.

Solution:

#include<iostream>
#include<conio.h>
using namespace std;
int main()
{
    int a,b,c,d,resN,resD;
    char dummyChar, ch, choice;
  
    do
    {
        cout<<"Enter operator: ";
        cin>>ch;
        cout<<"Enter first fraction in the form of a/b:";
        cin>>a>>dummyChar>>b;
        cout<<"Enter second fraction in the form of c/d:";
        cin>>c>>dummyChar>>d;
      
        switch(ch)
        {
            case '+':          
                resN=(a*d)+(b*c);
                resD=b*d;
                break;
            case '-':          
                resN=(a*d)-(b*c);
                resD=b*d;
                break;
            case '*':          
                resN=(a*c);
                resD=b*d;
                break;
            case '/':          
                resN=a*d;
                resD=b*c;
                break;
        }
      
        cout<<a<<"/"<<b<<ch<<c<<"/"<<d<<" = "<<resN<<"/"<<resD<<endl;
        cout<<"Do you wish to continue (y/n)?"<<endl;
        choice=getche();
        cout<<endl;
    }while(choice=='y');
  
    return 0;
}

Let me know in the comment section if you have any question.

Similar Posts:
  1. Program that allows the user to enter the number and then generates the table, formatting it into 10 columns and 20 lines. 
  2. Temperature-conversion program that gives the user the option of converting Fahrenheit to Celsius or Celsius to Fahrenheit. Then carry out the conversion. 
  3. Program that should allow the user to type up to six digits, and then display the resulting number as a type long integer. 
  4. Program should ask the user to enter a number, an operator, and another number. It should then carry out the specified arithmetical operation: adding, subtracting, multiplying, or dividing the two numbers. Finally, display the result. 
  5. Use for loops to construct a program that displays a pyramid of Xs on the screen.
  6. Modify the FACTOR program in this chapter so that it repeatedly asks for a number and calculates its factorial, until the user enters 0, at which point it terminates.
  7. Program that calculates how much money you’ll end up with if you invest an amount of money at a fixed interest rate, compounded yearly. Have the user furnish the initial amount, the number of years, and the yearly interest rate in percent.
  8. Program that repeatedly asks the user to enter two money amounts expressed in old-style British currency: pounds, shillings, and pence. The program should then add the two amounts and display the answer, again in pounds, shillings, and pence. Use a do loop that asks the user whether the program should be terminated.
  9. Program where you tell the final amount and it figures out how many years it will take, at a fixed rate of interest compounded yearly, to reach this amount.
  10. Create a three-function calculator for old-style English currency. The calculator should allow the user to add or subtract two money amounts, or to multiply a money amount by a floating-point number.
  11. Create a four-function calculator for fractions. The user should type the first fraction, an operator, and a second fraction. The program should then display the result and ask whether the user wants to continue.

Comments