Solved

I'M CONFUSED ON HOW TO USE THE IF STATATEMENT

Posted on 2003-12-11
7
227 Views
Last Modified: 2010-04-02
IN THE FOLLOWING PROGRAM
THE USER IS TO ENTER A SINGLE CHAR O FOR OIL G FOR GAS
THE NEXT LINE IS A REAL NUMBER FOR THE COST OF A WELL
NEXT LINE THE USER A CHAR S FOR SULFUR OR CHAR N FOR NO SULFUR
IF S THIS IS FOLLOWED BY THE PERCENT OF SULFUR PRESENT

MY PROBLEM IS THTA I CAN CALC S BUT I CAN SEEM TO CALC N
THE PROBLEM APEARS TO BE IN MY IF STATEMENT BUT I CAN'T SEEM TO FIND IT:
ENCLOSED IS A COPY OF THE CODE AND THE ANSWERS I GET FOR S AND N.

      /////////////////////////////////////////////////////////
//This program file is Gas or Oil
//This program will calculate the amount of gas or oil in a well
//Program Name:  Gas or Oil calculator
//Author: Terence Bell
//Description computes the amount of gas or oil



#include <iostream>
#include <iomanip>
using namespace std;

 double oilCost = 5.50;            //This is the cost of the oil
 double gasCost = 2.20;            //This is the cost of the gas

int main ()
{
      
      char    wellType, sulfurContent;  
    double  costOfWell;
      double  wellVolume, sulfurPresent;
      long int revenue =0;

      double  profit = 0;

      //Member needs to input the type of well
      cout<<"Enter type of well (D=Dry, O=Oil, G=Gas)"<< endl;
      cin >> wellType;

      if ((wellType == 'O') || (wellType == 'G'))
   
{
    cout << "Cost of the well" << endl;
      cin  >> costOfWell;

      cout<< "Enter volume found" << endl;
      cin >> wellVolume;

      cout<< "Enter sulfurContent (N = no sulfur, S = sulfur)"<< endl;
      cin >> sulfurContent;
}
      if (sulfurContent == 'S')
      {
      cout << "Enter Sulfur present in percent" << endl;

      cin >> sulfurPresent;
      }

      if (wellType == 'O')
      //This is the calculation of the oil content
      {  
        revenue = oilCost * (wellVolume - (wellVolume * sulfurPresent));  
            cout<< "The oil revenue is $ " << revenue <<endl;
      }
      
      if (wellType == 'G')//This is the calculation of the gas content
      {
            
            revenue = gasCost * (wellVolume - (wellVolume * sulfurPresent));
            cout<< "The gas revenue is $ " << revenue <<endl;
      }

       else
       {
            revenue = gasCost * wellVolume;
            cout<< "The gas revenue is $ " << revenue <<endl;             
      
     
       }

        profit = revenue - costOfWell;
      
        cout<< "Profit is $ "  << profit << endl;
     
        {
   
         if (profit >= 50000)
      {
       
            cout << "It's a Gusher: " << profit << endl;
        }
       

      return 0;
}
}
0
Comment
Question by:tbell000
7 Comments
 
LVL 9

Expert Comment

by:tinchos
Comment Utility
Hi tbell000,

I'll give you just 2 suggestions

1) indent your code, so that it will be clear what you're doing, and when (if the condition is true or not)
2) I've found a couple of {} that were misplaced, try with this one


/////////////////////////////////////////////////////////
//This program file is Gas or Oil
//This program will calculate the amount of gas or oil in a well
//Program Name:  Gas or Oil calculator
//Author: Terence Bell
//Description computes the amount of gas or oil



#include <iostream>
#include <iomanip>
using namespace std;

double oilCost = 5.50;          //This is the cost of the oil
double gasCost = 2.20;          //This is the cost of the gas

int main ()
{

      char    wellType, sulfurContent;  
      double  costOfWell;
      double  wellVolume, sulfurPresent;
      long int revenue =0;

      double  profit = 0;

      //Member needs to input the type of well
      cout<<"Enter type of well (D=Dry, O=Oil, G=Gas)"<< endl;
      cin >> wellType;

      if( (wellType == 'O') || (wellType == 'G') )
      {
            cout << "Cost of the well" << endl;
            cin  >> costOfWell;

            cout<< "Enter volume found" << endl;
            cin >> wellVolume;

            cout<< "Enter sulfurContent (N = no sulfur, S = sulfur)"<< endl;
            cin >> sulfurContent;
      }
      if( sulfurContent == 'S' )
      {
            cout << "Enter Sulfur present in percent" << endl;

            cin >> sulfurPresent;
      }

      if( wellType == 'O' ) //This is the calculation of the oil content
      {  
            revenue = oilCost * (wellVolume - (wellVolume * sulfurPresent));  
            cout<< "The oil revenue is $ " << revenue <<endl;
      }

      if( wellType == 'G' ) //This is the calculation of the gas content
      {
            revenue = gasCost * (wellVolume - (wellVolume * sulfurPresent));
            cout<< "The gas revenue is $ " << revenue <<endl;
      }

      else
      {
            revenue = gasCost * wellVolume;
            cout<< "The gas revenue is $ " << revenue <<endl;          
      }

      profit = revenue - costOfWell;

      cout<< "Profit is $ "  << profit << endl;


      if (profit >= 50000)
      {
            cout << "It's a Gusher: " << profit << endl;
      }

      return 0;
}

Cheers!
0
 
LVL 24

Expert Comment

by:shivsa
Comment Utility
u have misplaced { }, try to place them properly. and see if it works.
0
 

Author Comment

by:tbell000
Comment Utility
STILL WILL NOT SOVLE FOR N THE PROBLEM SEEMS TO BE HERE

  if( wellType == 'G' ) //This is the calculation of the gas content
     {
          revenue = gasCost * (wellVolume - (wellVolume * sulfurPresent));
          cout<< "The gas revenue is $ " << revenue <<endl;
     }

     else
     {
          revenue = gasCost * wellVolume;
          cout<< "The gas revenue is $ " << revenue <<endl;        
0
How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

 
LVL 30

Expert Comment

by:mayankeagle
Comment Utility
>> I'll give you just 2 suggestions

:-) I'll give you one more. All of us can read, so STOP WRITING IN CAPS ALL THE TIME :-)

By the way, what error is it goving now?

Cheers,
Mayank.
0
 
LVL 30

Expert Comment

by:mayankeagle
Comment Utility
>> goving now

giving now
0
 
LVL 24

Accepted Solution

by:
shivsa earned 500 total points
Comment Utility
Just add this else statement after u check about sulfer content.
-----------------------
 if( sulfurContent == 'S' )
     {
          cout << "Enter Sulfur present in percent" << endl;
          cin >> sulfurPresent;
     }
else {
           sulfurPresent = 0;
    }
0
 
LVL 30

Expert Comment

by:mayankeagle
Comment Utility
Oh right.... its not Java :-) the value won't be initialized by itself to 0.
0

Featured Post

Enabling OSINT in Activity Based Intelligence

Activity based intelligence (ABI) requires access to all available sources of data. Recorded Future allows analysts to observe structured data on the open, deep, and dark web.

Join & Write a Comment

Article by: SunnyDark
This article's goal is to present you with an easy to use XML wrapper for C++ and also present some interesting techniques that you might use with MS C++. The reason I built this class is to ease the pain of using XML files with C++, since there is…
What is C++ STL?: STL stands for Standard Template Library and is a part of standard C++ libraries. It contains many useful data structures (containers) and algorithms, which can spare you a lot of the time. Today we will look at the STL Vector. …
The viewer will learn additional member functions of the vector class. Specifically, the capacity and swap member functions will be introduced.
The viewer will learn how to clear a vector as well as how to detect empty vectors in C++.

744 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

18 Experts available now in Live!

Get 1:1 Help Now