<< Chapter < Page | Chapter >> Page > |
The syntax for an if .. else statement:
if (conditional expression) {
statements;
}
else {
statements;
}
We construct a C++ program for determining income taxes. Assume that these taxes are assessed at 2% of taxable incomes less than or equal to $20,000. For taxable income greater than $20,000, taxes are 2.5% of the income that exceeds $20,000 plus a fixed amount of $400. (The flowchart of the program is given in Figure 2.)
#include<iostream.h>
#include<iomanip.h>
const float LOWRATE = 0.02; // lower tax rate
const float HIGHRATE = 0.025; // higher tax rate
const float CUTOFF = 20000.0; // cut off for low rate
const float FIXEDAMT = 400; // fixed dollar amount for higher rate amounts
int main()
{
float taxable, taxes;
cout<<"Please type in the taxable income: ";
cin>>taxable;
if (taxable<= CUTOFF)
taxes = LOWRATE * taxable;
else
taxes = HIGHRATE * (taxable - CUTOFF) + FIXEDAMT;
// set output format
cout<<setiosflags(ios::fixed)
<<setiosflags(ios::showpoint)
<<setprecision(2);
cout<<"Taxes are $ "<<taxes<<endl;
return 0;
}
The results of the above program:
Please type in the taxable income: 10000
Taxes are $ 200
and
Please type in the taxable income: 30000
Taxes are $ 650
All statements within a compound statement constitute a single block of code, and any variable declared within such a block only is valid within the block.
The location within a program where a variable can be used formally referred to as the scope of the variable.
Example:
{ // start of outer block
int a = 25;
int b = 17;
cout<<“The value of a is “<<a
<<“ and b is “<<b<<endl;
{ // start of inner block
float a = 46.25;
int c = 10;
cout<<“ a is now “<<a
<<“b is now “<<b
<<“ and c is “<<c<<endl;
}
cout<<“ a is now “<<a
<<“b is now “<<b<<endl;
} // end of outer block
The output is
The value of a is 25 and b is 17
a is now 46.25 b is now 17 and c is 10
a is now 25 b is now 17
A useful modification of the if-else statement involves omitting the else part of the statement. In this case, the if statement takes a shortened format:
if (conditional expression) {
statements;
}
The flow chart of one-way if statement is as below.
The following program displays an error message for the grades that is less than 0 or more than 100.
#include<iostream.h>
int main()
{
int grade;
cout<<"\nPlease enter a grade: ";
cin>>grade;
if(grade<0 || grade>100)
cout<<" The grade is not valid\n";
return 0;
}
An if-else statement can contain simple or compound statements. Any valid C++ statement can be used, including another if-else statement. Thus, one or more if-else statements can be included within either part of an if-else statement. The inclusion of one or more if statement within an existing if statement is called a nested if statement.
When an if statement is included in the else part of an existing if statement, we have an if-else chain.
if (expression-1)
statement-1
else if (expression-2)
statement-2
else
statement-3
The following program calculates the monthly income of a computer salesperson using the following commission schedule:
Notification Switch
Would you like to follow the 'Programming fundamentals in c++' conversation and receive update notifications?