In C The Sun Furnace Company provides furnace repair service

In C++,

The Sun Furnace Company provides furnace repair service to residential customers. It has asked you to develop a program that calculates and outputs a customer\'s bill. The company offers 2 types of service: Standard and Deluxe. Its rates vary, depending on the type of service. Rates are computed as follows :

Standard service :  $100.00 plus first 30 free service minutes. Charges for over 30 service minutes are $0.75 per minute. If the furnace is not fueled by natural gas, there is anadditional $25 charge.

Deluxe service :   $25.00 plus :

a. For service starting between 8:00 a.m. and 4:00 p.m. the first 25 service minutes are free; charges for more than 25 minutes are $0.40 per minute.

b. For service starting between 4:01 p.m. and 7:59 a.m. the first 15 service minutes are free; charges for more than 15 minutes are $0.60 per minute.   

c. If the furnace is not fueled by natural gas, there is an additional $15 charge.

The program MUST use 4 functions :

- A void function which outputs the following :

Welcome to Sun Furnace Bill calculator

You will be asked for the following information :

* Service Type (S,s,D,d)

* Furnace Type (G,g for gas, O,o for non gas)

* Service Minutes

* Service Shift (D,d indicates service started between 8 a.m. and 4 p.m. N, n indicates service started between 4:01 p.m. and 7:59 a.m. This is only asked if the service type is Deluxe.

- A value returning function which calculates and returns the billing amount for standard service.  

- A value returning function which calculates and returns the billing amount for Deluxe service.

- A void function which outputs the bill. For example  :

Customer Bill

Service Type : Deluxe Furnace Type : Gas

Service Shift : Day Minutes : 80

Bill Amount : $ 55.00

Solution

SOURCE CODE:

#include<iostream>
using namespace std;
class furnace{
   public:
       char serviceType;
       char furnaceType;
       int serviceMinutes;
       char serviceShift;
   furnace(char st,char ft,int sm,char ss)
   {
       char serviceType = st;
       char furnaceType = ft;
       int serviceMinutes = sm;
       char serviceShift = ss;
   }
   furnace()
   {
   }
   double deluxeService()
   {
       double charge=25.00;
  
       if(furnaceType==\'o\' || furnaceType==\'O\')
           charge = charge + 25.00;
      
       if(serviceShift==\'D\' || serviceShift==\'d\')
       {
           if(serviceMinutes>25)
               charge = charge + (charge-25.0)*0.4;      
       }
       else if(serviceShift==\'N\' || serviceShift==\'n\')
       {
           if(serviceMinutes>15)
               charge = charge + (charge-15.0)*0.4;      
       }
       return charge;      
   }  
   double standardService()
   {
       double charge=100.00;
       if(furnaceType==\'o\' || furnaceType==\'O\')
           charge = charge + 25.00;
       if(serviceMinutes>30)
           charge = charge + (charge-30.0)*0.75;
       return charge;
   }
   void welcome()
   {
       cout<<\"\ Welcome to Sun Furnace Bill calculator\";
       cout<<\"\ You will be asked for the following information :\";
       cout<<\"\ * Service Type (S,s,D,d)\";
       cout<<\"\ * Furnace Type (G,g for gas, O,o for non gas)\";
       cout<<\"\ * Service Minutes\";
       cout<<\"\ * Service Shift (D,d indicates service started between 8 a.m. and 4 p.m. \ N, n indicates service started between 4:01 p.m. and 7:59 a.m.\ This is only asked if the service type is Deluxe.\";
   }
   void generateBill()
   {
      
       if(serviceType==\'d\' || serviceType==\'D\')
           cout<<\"\ Service Type :Deluxe \";
       else if(serviceType==\'s\' || serviceType==\'S\')
           cout<<\"\ Service Type :Standard \";
       if(furnaceType==\'g\' || furnaceType==\'G\')
           cout<<\"\ Furnace Type : Gas\";
       else if(furnaceType==\'o\' || furnaceType==\'O\')
           cout<<\"\ Furnace Type : Others\";
          
       if(serviceType==\'d\' || serviceType==\'D\')
       {
           if(serviceShift==\'d\' || serviceShift==\'D\')
               cout<<\"\ Service Shift : Day\";
           else if(serviceShift==\'n\' || serviceShift==\'N\')
               cout<<\"\ Service Shift : Night\";
       }
      
       cout<<\"\ Minutes :\"<<serviceMinutes;
      
       if(serviceType==\'d\' || serviceType==\'D\')
           cout<<\"\ Bill Amount : $\"<<deluxeService();
       else if(serviceType==\'s\' || serviceType==\'S\')
           cout<<\"\ Bill Amount : $\"<<standardService();
   }
};

int main()
{
   furnace f1;
   char ss,ft,st;
   double sm = 0.0;
   f1.welcome();
   cout<<\"\ \ \";
   cout<<\"\ * Enter Service Type (S,s,D,d) :\";
   cin>>st;
   cout<<\"\ * Enter Furnace Type (G,g for gas, O,o for non gas) :\";
   cin>>ft;
   cout<<\"\ * Enter Service Minutes :\";
   cin>>sm;
  
   if(st==\'d\' || st==\'D\')
   {
       cout<<\"\ * Enter Service Shift (D,d,N,n ):\";
       cin>>ss;
   }
  
   f1.furnaceType = ft;
   f1.serviceMinutes = sm;
   f1.serviceType = st;
   f1.serviceShift = ss;
   f1.generateBill();
   return 1;
}

OUTPUT:


Welcome to Sun Furnace Bill calculator
You will be asked for the following information :
* Service Type (S,s,D,d)
* Furnace Type (G,g for gas, O,o for non gas)
* Service Minutes
* Service Shift (D,d indicates service started between 8 a.m. and 4 p.m.
N, n indicates service started between 4:01 p.m. and 7:59 a.m.
This is only asked if the service type is Deluxe.


* Enter Service Type (S,s,D,d) :S

* Enter Furnace Type (G,g for gas, O,o for non gas) :G

* Enter Service Minutes :45

Service Type :Standard
Furnace Type : Gas
Minutes :45
Bill Amount : $152.5
--------------------------------

You will be asked for the following information :
* Service Type (S,s,D,d)
* Furnace Type (G,g for gas, O,o for non gas)
* Service Minutes
* Service Shift (D,d indicates service started between 8 a.m. and 4 p.m.
N, n indicates service started between 4:01 p.m. and 7:59 a.m.
This is only asked if the service type is Deluxe.


* Enter Service Type (S,s,D,d) :D

* Enter Furnace Type (G,g for gas, O,o for non gas) :O

* Enter Service Minutes :67

* Enter Service Shift (D,d,N,n ):N

Service Type :Deluxe
Furnace Type : Others
Service Shift : Night
Minutes :67
Bill Amount : $64
--------------------------------

In C++, The Sun Furnace Company provides furnace repair service to residential customers. It has asked you to develop a program that calculates and outputs a cu
In C++, The Sun Furnace Company provides furnace repair service to residential customers. It has asked you to develop a program that calculates and outputs a cu
In C++, The Sun Furnace Company provides furnace repair service to residential customers. It has asked you to develop a program that calculates and outputs a cu
In C++, The Sun Furnace Company provides furnace repair service to residential customers. It has asked you to develop a program that calculates and outputs a cu

Get Help Now

Submit a Take Down Notice

Tutor
Tutor: Dr Jack
Most rated tutor on our site