Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

I'M CONFUSED ON HOW TO USE THE IF STATATEMENT

Posted on 2003-12-11
7
Medium Priority
?
235 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
7 Comments
 
LVL 9

Expert Comment

by:tinchos
ID: 9925512
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
ID: 9925579
u have misplaced { }, try to place them properly. and see if it works.
0
 

Author Comment

by:tbell000
ID: 9925757
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
Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

 
LVL 30

Expert Comment

by:Mayank S
ID: 9926128
>> 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:Mayank S
ID: 9926137
>> goving now

giving now
0
 
LVL 24

Accepted Solution

by:
shivsa earned 2000 total points
ID: 9926194
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:Mayank S
ID: 9926374
Oh right.... its not Java :-) the value won't be initialized by itself to 0.
0

Featured Post

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Often, when implementing a feature, you won't know how certain events should be handled at the point where they occur and you'd rather defer to the user of your function or class. For example, a XML parser will extract a tag from the source code, wh…
Introduction This article is the first in a series of articles about the C/C++ Visual Studio Express debugger.  It provides a quick start guide in using the debugger. Part 2 focuses on additional topics in breakpoints.  Lastly, Part 3 focuses on th…
The goal of the video will be to teach the user the concept of local variables and scope. An example of a locally defined variable will be given as well as an explanation of what scope is in C++. The local variable and concept of scope will be relat…
The viewer will learn how to use the return statement in functions in C++. The video will also teach the user how to pass data to a function and have the function return data back for further processing.

715 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