Home

Operators and Operands

 

Unary Operators

 

Introduction

An operation is an action performed on one or more values either to modify the value held by one or both of the variables or to produce a new value by combining variables. Therefore, an operation is performed using at least one symbol and one value. The symbol used in an operation is called an operator. A variable or a value involved in an operation is called an operand.

A unary operator is an operator that performs its operation on only one operand.

An operator is referred to as binary if it operates on two operands.

Unary Operators: The Positive Operator +

Algebra uses a type of ruler to classify numbers. This ruler has a middle position of zero. The numbers on the left side of the 0 are referred to as negative while the numbers on the right side of the rulers are considered positive:

-∞   -6 -5 -4 -3 -2 -1   1 2 3 4 5 6   +∞
  0
-∞   -6 -5 -4 -3 -2 -1   1 2 3 4 5 6   +∞

A value on the right side of 0 is considered positive. To express that a number is positive, you can write a + sign on its left. Examples are +4, +228, +90335. In this case the + symbol is called a unary operator because it acts on only one operand.

The positive unary operator, when used, must be positioned on the left side of its operand, never on the right side.

As a mathematical convention, when a value is positive, you do not need to express it with the + operator. Just writing the number without any symbol signifies that the number is positive. Therefore, the numbers +4, +228, and +90335 can be, and are better, expressed as 4, 228, 90335. Because the value does not display a sign, it is referred as unsigned as we learned in the previous lesson.

To express a variable as positive or unsigned, you can just type it. here is an example:

#include <iostream>

using namespace std;



int main()

{

	int number = +802;



	cout << "The value of the number is: " << number << "\n";



	return 0;

}

Unary Operators: The Negative Operator -

As you can see on the above ruler, in order to express any number on the left side of 0, it must be appended with a sign, namely the - symbol. Examples are -12, -448, -32706. A value accompanied by - is referred to as negative.

The - sign must be typed on the left side of the number it is used to negate.

Remember that if a number does not have a sign, it is considered positive. Therefore, whenever a number is negative, it MUST have a - sign. In the same way, if you want to change a value from positive to negative, you can just add a - sign to its left.

Here is an example that uses two variables. One has a positive value while the other has a negative value:

#include <iostream>

using namespace std;



int main()

{

	int number1 = 802;

	int number2 = -62;



	cout << "The value of the first number is: " << number1 << "\n";

	cout << "The value of the second number is: " << number2 << "\n";



	return 0;

}

Unary Operators: Increment and Decrement ++ and --

The increment operator is used to increase the value of a number or variable by 1. The increment operator is performed with the ++ operator. Because it involves a few more other issues, we will study it later on.

The decrement operator is used to decrease the value of a number or variable by 1. The decrement operator is performed with the -- operator. Because it involves a few more other issues, we will study it later on.

Unary Operators: The Address Of Operator &

In the previous lesson, we learned that, when declaring a variable, the compiler reserves an amount of space in memory for that variable. C++ provides an operator that can tell you where (the space for) a variable is located. This is done using the "address of" operator represented by the ampersand &.

To get the address of a variable, use the ampersand operator on its left. The address is a hexadecimal number. Here is an example:

#include <iostream>

using namespace std;



int main()

{

	int number = 46;



	cout << "\n&Number = " << &number;



	return 0;

}

This would produce:

&Number = 0012FED4

Unary Operators: The sizeof Operator

We have already seen that when declaring a variable, the compiler reserves a portion of space in the computer memory to hold that variable. We also illustrated how much space some data types need to store their variable. C++ provides the unary sizeof operator that allows you to find out how much space a data type or a certain variable in your program is using.

There are four methods you can use with the sizeof operator: using the variable or the data type. The general syntaxes of the sizeof operator are:

sizeof VariableName;

sizeof DataType;

sizeof(VariableName);

sizeof(DataType);

Any of these four formulas is admissible. But it is good to refrain from using the data type except in rare cases that you can justify. The reason you should apply the sizeof operator on the variable is because, if you change the variable (the word “variable” means it can change throughout the program), that is, if you perform any operation on it, the sizeof operator will acknowledge that and render the right result. Some and most of the time, if you apply the sizeof operator on the data type, you might end up with a bug; if you are lucky, the program would simply not compile.

Here is an example:

#include <iostream>

using namespace std;



int main()

{

	double period = 155.50;

	int sizeOf = sizeof Period;



	cout << "The size of Period is " << sizeOf << " bytes\n\n";



	return 0;

}

Here is an example with various uses of the sizeof operator

// Use of the sizeof operator to find out how much

// space a variable or an identifier are using

#include <iostream>

using namespace std;



int main()

{

	char iChar;

	unsigned char uChar;

	signed char sChar;

	int iInt;

	short int sInt;

	unsigned int uInt;

	unsigned short int uShortInt;

	long int LInt;

	unsigned long int uLongInt;

	float iFloat;

	double iDouble;

	long double lDouble;



	cout << "The sizeof operator used on a variable\n\n";

	cout << "Identifier\t Memory Size\n"

		 << "\t\t in Bytes\n";

	cout << "----------------------------------";

	cout << "\nchar\t\t\t" << sizeof(char);

	cout << "\nunsigned char\t\t" << sizeof(unsigned char);

	cout << "\nsigned char\t\t" << sizeof(signed char);

	cout << "\nint\t\t\t" << sizeof(int);

	cout << "\nshort int\t\t" << sizeof(short int);

	cout << "\nunsigned int\t\t" << sizeof(unsigned int);

	cout << "\nunsigned short int\t" << sizeof(unsigned short int);

	cout << "\nlong int\t\t" << sizeof(long int);

	cout << "\nunsigned long int\t" << sizeof(unsigned long int);

	cout << "\nfloat\t\t\t" << sizeof(float);

	cout << "\ndouble\t\t\t" << sizeof(double);

	cout << "\nlong double\t\t" << sizeof(long double);

	

	cout << "\n\n";



	return 0;

}

This would produce:

The sizeof operator used on a variable



Identifier       Memory Size

                        in Bytes

----------------------------------

char                          1

unsigned char           1

signed char               1

int                             4

short int                   2

unsigned int              4

unsigned short int     2

long int                      4

unsigned long int       4

float                           4

double                       8

long double                8

While the previous example uses the name of data types, the following sizeof operators are used on the name of variables

// Use of the sizeof operator to find out how much

// space a variable or an identifier are using

#include <iostream>

using namespace std;



int main()

{

	char iChar;

	unsigned char uChar;

	signed char sChar;

	int iInt;

	short int sInt;

	unsigned int uInt;

	unsigned short int uShortInt;

	long int LInt;

	unsigned long int uLongInt;

	float iFloat;

	double iDouble;

	long double lDouble;



	cout << "The sizeof operator used on an identifier\n\n";

	cout << "Identifier\t Memory Size\n"

		 << "\t\t in Bytes\n";

	cout << "------------------------------";

	cout << "\nchar\t\t\t" << sizeof(iChar);

	cout << "\nunsigned char\t\t" << sizeof(uChar);

	cout << "\nsigned char\t\t" << sizeof(sChar);

	cout << "\nint\t\t\t" << sizeof(iInt);

	cout << "\nshort int\t\t" << sizeof(sInt);

	cout << "\nunsigned int\t\t" << sizeof(uInt);

	cout << "\nunsigned short int\t" << sizeof(uShortInt);

	cout << "\nlong int\t\t" << sizeof(LInt);

	cout << "\nunsigned long int\t" << sizeof(uLongInt);

	cout << "\nfloat\t\t\t" << sizeof(iFloat);

	cout << "\ndouble\t\t\t" << sizeof(iDouble);

	cout << "\nlong double\t\t" << sizeof(lDouble);



	cout << "\n\n";



	return 0;

}
 

Algebraic Operators

 

Introduction

In algebra, operations are performed on numeric values. Algebraic operators are represented with the following symbols:

Operations

 

Practical LearningPractical Learning: Introducing Operators

  1. Start your programming environment and create a new project named GCS2.
    Depending on your environment, if the file was not created already, then create a source file and save it as, or name it, exercise.cpp 
  2. Set the file's content as follows:
    #include <iostream>
    
    using namespace std;
    
    
    
    int main()
    
    {
    
    	char customerName[60], customerPhone[20];
    
    
    
    	unsigned short shirts;
    
    	unsigned short pants;
    
    	unsigned short dresses;
    
    	unsigned short ties;
    
    	
    
    	double priceShirts  = 1.25;
    
    	double pricePants   = 2.75;
    
    	double priceDresses = 3.25;
    
    	double priceTies    = 1.65;
    
    
    
    	int orderDay;
    
    	int orderMonth;
    
    	int orderYear;
    
    
    
    	cout << " -=- Georgetown Cleaning Services -=-\n";
    
    	cout << "Enter Customer Name:  ";
    
    	cin >> ws;
    
    	cin.getline(customerName, 60);
    
    	cout << "Enter Customer Phone: ";
    
    	cin.getline(customerPhone, 20);
    
    	cout << "Enter the date this order was placed\n";
    
    	cout << "Order Day:   ";
    
    	cin >> orderDay;
    
    	cout << "Order Month: ";
    
    	cin >> orderMonth;
    
    	cout << "Order Year: ";
    
    	cin >> orderYear;
    
    	cout << "Enter number of shirts: ";
    
    	cin >> shirts;
    
    	cout << "Enter number of pants: ";
    
    	cin >> pants;
    
    	cout << "Enter number of dresses: ";
    
    	cin >> dresses;
    
    	cout << "Enter number of ties: ";
    
    	cin >> ties;
    
    	
    
    	cout << "\n====================================";
    
    	cout << "\n-=- Georgetown Cleaning Services -=-";
    
    	cout << "\n====================================";
    
    	cout << "\nCustomer Order";
    
    	cout << "\nCustomer Name:  " << customerName;
    
    	cout << "\nCustomer Phone: " << customerPhone;
    
    	cout << "\nOrder Date: " << orderMonth
    
    		 << '/' << orderDay << '/' << orderYear;
    
    	cout << "\n------------------------------------"
    
    		 << "\nItem Type  Unit Price Qty";
    
    	cout << "\n------------------------------------"
    
    	     << "\nShirts:      " << priceShirts << "      " << shirts
    
    	     << "\nPants:       " << pricePants << "      " << pants
    
    	     << "\nDresses:     " << priceDresses << "      " << dresses
    
    	     << "\nTies:        " << priceTies << "      " << ties
    
    		 << "\n\n";
    
    
    
    	return 0;
    
    }
  3. Execute the application and perform the exercise 
  4. Return to your programming environment

The Addition

The addition is an operation used to add one number to another. For example, if you have one pen and somebody gives you another pen, then you have two pens. If you keep receiving pens, you will soon have more than you had originally. In this manner, as you add pens, the number grows. The addition gives you to ability to add things of the same nature one to another, as many as necessary, until all items have been added. Sometimes, the items are added one group to another. The concept is still the same, except that this last example is faster. For example, if you have a group of eleven students and you add 5 students to the group, you can apply the same rule by adding one student at a time. But to perform this operation faster, you should work to add groups of items to one another.

The addition is performed in mathematics using the + sign. The same sign is used in C++. The + sign is located on the left side of the Backspace key. You get it by pressing Shift and =.

To get the addition of two values, you add the first one to the other. After the addition of two values has been performed, you get a new value. This means if you add Value1 to Value2, you would write Value1 + Value2. The result is another value we could call Value3. You can also add more than two values, like a + b + c.

The order you use to add two or more values doesn't matter. This means Value1 + Value2 is the same as Value2 + Value1. In the same way a + b + c is the same as a + c + b the same as b + a + c and the same as c + b + a.

In C++, you can add values you know already, or you can use values the program gets from the user.

The simplest way to add values in C++ is by performing a simple sum. Here is an example:

// Program used to get the sum of two values



#include <iostream>

using namespace std;



iint main()

{

	// Get the sum of two values

	cout << "244 + 835 = " << 244 + 835;



	cout << "\n\n";



	return 0;

}

Here is the result:

244 + 835 = 1079

You can also add some values already declared and initialized in your program. Here is an example:

// Program used to get the sum of two initialized values

#include <iostream>

using namespace std;



int main()

{

	int a = 244;

	int b = 835;



	// Get the sum of a and b

	cout << a << " + " << b << " = " << a + b;

	cout << "\n\n";



	return 0;

}

You can also get the values from the user as illustrated in the following program:

// Program used to get the sum of two initialized values

#include <iostream>

using namespace std;



int main()

{

	int a, b, c;



	// Get the sum of a, b, and c.

	cout << "\nType the first value: "; cin >> a;

	cout << "The second value: "; cin >> b;

	cout << "The last value: "; cin >> c;



	cout << a << " + " << b << " + " << c << " = " << a + b + c << "\n\n";



	return 0;

}

Practical LearningPractical Learning: Using the Addition

  1. To perform an addition, change the file as follows:
     
    #include <iostream>
    
    using namespace std;
    
    
    
    int main()
    
    {
    
    	char customerName[60], customerPhone[20];
    
    
    
    	unsigned short shirts;
    
    	unsigned short pants;
    
    	unsigned short dresses;
    
    	unsigned short ties;
    
    	unsigned short totalItems;
    
    	
    
    	double priceShirts  = 1.25;
    
    	double pricePants   = 2.75;
    
    	double priceDresses = 3.25;
    
    	double priceTies    = 1.65;
    
    
    
    	int orderDay;
    
    	int orderMonth;
    
    	int orderYear;
    
    
    
    	cout << " -=- Georgetown Cleaning Services -=-\n";
    
    	cout << "Enter Customer Name:  ";
    
    	cin >> ws;
    
    	cin.getline(customerName, 60);
    
    	cout << "Enter Customer Phone: ";
    
    	cin.getline(customerPhone, 20);
    
    	cout << "Enter the date this order was placed\n";
    
    	cout << "Order Day:   ";
    
    	cin >> orderDay;
    
    	cout << "Order Month: ";
    
    	cin >> orderMonth;
    
    	cout << "Order Year: ";
    
    	cin >> orderYear;
    
    	cout << "Enter number of shirts: ";
    
    	cin >> shirts;
    
    	cout << "Enter number of pants: ";
    
    	cin >> pants;
    
    	cout << "Enter number of dresses: ";
    
    	cin >> dresses;
    
    	cout << "Enter number of ties: ";
    
    	cin >> ties;
    
    	
    
    	totalItems = shirts + pants + dresses + ties;
    
    
    
    	cout << "\n====================================";
    
    	cout << "\n-=- Georgetown Cleaning Services -=-";
    
    	cout << "\n====================================";
    
    	cout << "\nCustomer Order";
    
    	cout << "\nCustomer Name:  " << customerName;
    
    	cout << "\nCustomer Phone: " << customerPhone;
    
    	cout << "\nOrder Date: " << orderMonth
    
    		 << '/' << orderDay << '/' << orderYear;
    
    	cout << "\n------------------------------------"
    
    		 << "\nItem Type  Unit Price Qty";
    
    	cout << "\n------------------------------------"
    
    	     << "\nShirts:      " << priceShirts << "      " << shirts
    
    	     << "\nPants:       " << pricePants << "      " << pants
    
    	     << "\nDresses:     " << priceDresses << "      " << dresses
    
    	     << "\nTies:        " << priceTies << "      " << ties;
    
    	cout << "\n------------------------------------"
    
    	        << "\nTotal Number of Items: " << totalItems << "\n\n";
    
    
    
    	return 0;
    
    }
  2. Execute the application and process an order. Here is an example:
     
    Order Month: 12
    
    Order Year: 2002
    
    Enter number of shirts: 12
    
    Enter number of pants: 8
    
    Enter number of dresses: 4
    
    Enter number of ties: 6
    
    
    
    ====================================
    
    -=- Georgetown Cleaning Services -=-
    
    ====================================
    
    Customer Order
    
    Customer Name:  Alain Kounkou
    
    Customer Phone: (240) 843-8220
    
    Order Date: 12/12/2002
    
    ------------------------------------
    
    Item Type  Unit Price Qty
    
    ------------------------------------
    
    Shirts:         1.25      12
    
    Pants:         2.75        8
    
    Dresses:     3.25        4
    
    Ties:           1.65         6
    
    ------------------------------------
    
    Total Number of Items: 30
  3. Return to your programming environment

The Multiplication

The multiplication allows adding one value to itself a certain number of times, set by a second value. As an example, instead of adding a value to itself in this manner: a + a + a + a, since the variable a is repeated over and over again, you could simply find out how many times a is added to itself, then multiply a by that number which, is this case, is 4. This would mean adding a to itself 4 times, and you would get the same result.

The multiplication is performed with the * sign which is typed with Shift + 8.

Just like the addition, the multiplication is associative: a * b * c = c * b * a.

When it comes to programming syntax, the rules we learned with the addition operation also apply to the multiplication.

Here is an example:

// Multiplication of multiple values

#include <instream>

using namespace std;



int main()

{

	float a, b;



	// Multiple of a and b.

	cout << "\nType two values: ";

	cin >> a >> b;

	cout << a << " * " << b << " = " << a * b;

	cout << "\n\n";



	return 0;

}
 
 

Practical LearningPractical Learning: Using the Multiplication

  1. To perform a multiplication, change the file as follows:
     
    #include <iostream>
    
    using namespace std;
    
    
    
    int main()
    
    {
    
    	char customerName[60], customerPhone[20];
    
    
    
    	unsigned short shirts;
    
    	unsigned short pants;
    
    	unsigned short dresses;
    
    	unsigned short ties;
    
    	unsigned short totalItems;
    
    	
    
    	double priceShirts  = 1.25;
    
    	double pricePants   = 2.75;
    
    	double priceDresses = 3.25;
    
    	double priceTies    = 1.65;
    
    
    
    	double totalCostShirts, totalCostPants,
    
    		   totalCostDresses, totalCostTies;
    
    	double totalCostCleaning;
    
    
    
    	int orderDay;
    
    	int orderMonth;
    
    	int orderYear;
    
    
    
    	cout << " -=- Georgetown Cleaning Services -=-\n";
    
    	cout << "Enter Customer Name:  ";
    
    	cin >> ws;
    
    	cin.getline(customerName, 60);
    
    	cout << "Enter Customer Phone: ";
    
    	cin.getline(customerPhone, 20);
    
    	cout << "Enter the date this order was placed\n";
    
    	cout << "Order Day:   ";
    
    	cin >> orderDay;
    
    	cout << "Order Month: ";
    
    	cin >> orderMonth;
    
    	cout << "Order Year: ";
    
    	cin >> orderYear;
    
    	cout << "Enter number of shirts: ";
    
    	cin >> shirts;
    
    	cout << "Enter number of pants: ";
    
    	cin >> pants;
    
    	cout << "Enter number of dresses: ";
    
    	cin >> dresses;
    
    	cout << "Enter number of ties: ";
    
    	cin >> ties;
    
    	
    
    	totalItems = shirts + pants + dresses + ties;
    
    
    
    	totalCostShirts   = shirts  * priceShirts;
    
    	totalCostPants    = pants   * pricePants;
    
    	totalCostDresses  = dresses * priceDresses;
    
    	totalCostTies     = ties    * priceTies;
    
    	totalCostCleaning = totalCostShirts + totalCostPants +
    
    		                totalCostDresses + totalCostTies;
    
    
    
    	cout << "\n====================================";
    
    	cout << "\n-=- Georgetown Cleaning Services -=-";
    
    	cout << "\n====================================";
    
    	cout << "\nCustomer Order";
    
    	cout << "\nCustomer Name:  " << customerName;
    
    	cout << "\nCustomer Phone: " << customerPhone;
    
    	cout << "\nOrder Date: " << orderMonth
    
    		 << '/' << orderDay << '/' << orderYear;
    
    	cout << "\n------------------------------------"
    
    		 << "\nItem Type  Unit Price Qty Sub-Total";
    
    	cout << "\n------------------------------------"
    
    	        << "\nShirts:      " << priceShirts << "      " << shirts << "     " << totalCostShirts
    
    	        << "\nPants:       " << pricePants << "      " << pants << "     " << totalCostPants
    
    	        << "\nDresses:     " << priceDresses << "      " << dresses << "     " << totalCostDresses
    
    	        << "\nTies:        " << priceTies << "      " << ties << "     " << totalCostTies;
    
    	cout << "\n------------------------------------"
    
    		 << "\nTotal Number of Items:   " << totalItems
    
    		 << "\nTotal Cleaning of Items: " << totalCostCleaning << "\n";
    
    
    
    	return 0;
    
    }
  2. Execute the application and process an order. Here is an example:
     
    -=- Georgetown Cleaning Services -=-
    
    Enter Customer Name:  Patrice Keller
    
    Enter Customer Phone: (703) 722-8814
    
    Enter the date this order was placed
    
    Order Day:   10
    
    Order Month: 12
    
    Order Year: 2002
    
    Enter number of shirts: 8
    
    Enter number of pants: 8
    
    Enter number of dresses: 5
    
    Enter number of ties: 6
    
    
    
    ====================================
    
    -=- Georgetown Cleaning Services -=-
    
    ====================================
    
    Customer Order
    
    Customer Name:  Patrice Keller
    
    Customer Phone: (703) 722-8814
    
    Order Date: 12/10/2002
    
    ------------------------------------
    
    Item Type  Unit Price Qty Sub-Total
    
    ------------------------------------
    
    Shirts:         1.25      8     10
    
    Pants:         2.75      8     22
    
    Dresses:     3.25      5     16.25
    
    Ties:            1.65      6     9.9
    
    ------------------------------------
    
    Total Number of Items:   27
    
    Total Cleaning of Items: 58.15
  3. Return to your programming environment
 

The Subtraction

The subtraction operation is used to take out or subtract a value from another value. It is essentially the opposite of the addition.

The subtraction in C++ is performed with the - sign, which is between the 0 and the = keys.

Here is an example:

// Subtraction of two values

#include <iostream>

using namespace std;



int main()

{

	// Values used in this program

	int value1, value2, value3;



	// Get the values from the user

	cout << "Type the first number: ";

	cin >> value1;

	cout << "Type another number: ";

	cin >> value2;



	// Subtract the first value from the second

	value3 = value1 - value2;



	cout << value1 << " - " << value2 << " = " << value3 << "\n\n";



	return 0;

}

The following program shows the non-associativity of the subtraction operation:

// Non-associativity of the subtraction operation

#include <iostream>

using namespace std;



int main()

{

	// Addition associativity

	cout << "128 + 42 + 5 = " << 128 + 42 + 5;

	cout << "\n5 + 42 + 128 = " << 5 + 42 + 128;



	cout << "\n";



	// Subtraction non-associativity

	cout << "\n128 - 42 - 5 = " << 128 - 42 - 5;

	cout << "\n5 - 42 - 128 = " << 5 - 42 - 128;



	cout << "\n\n";



	return 0;

}

This would produce:

128 + 42 + 5 = 175

5 + 42 + 128 = 175



128 - 42 - 5 = 81

5 - 42 - 128 = -165

Notice that both operations of the addition convey the same result. In the subtraction section, the numbers follow the same order but a different operation; and the last two operations render different results.

 

Practical LearningPractical Learning: Using the Subtraction

  1. To apply a subtraction, change the file as follows:
     
    #include <iostream>
    
    using namespace std;
    
    
    
    int main()
    
    {
    
    	char customerName[60], customerPhone[20];
    
    
    
    	unsigned short shirts;
    
    	unsigned short pants;
    
    	unsigned short dresses;
    
    	unsigned short ties;
    
    	unsigned short totalItems;
    
    	
    
    	double priceShirts  = 1.25;
    
    	double pricePants   = 2.75;
    
    	double priceDresses = 3.25;
    
    	double priceTies    = 1.65;
    
    
    
    	double totalCostShirts, totalCostPants,
    
    		   totalCostDresses, totalCostTies;
    
    	double totalCostCleaning;
    
    	double amountTended, difference;
    
    
    
    	int orderDay;
    
    	int orderMonth;
    
    	int orderYear;
    
    
    
    	cout << " -=- Georgetown Cleaning Services -=-\n";
    
    	cout << "Enter Customer Name:  ";
    
    	cin >> ws;
    
    	cin.getline(customerName, 60);
    
    	cout << "Enter Customer Phone: ";
    
    	cin.getline(customerPhone, 20);
    
    	cout << "Enter the date this order was placed\n";
    
    	cout << "Order Day:   ";
    
    	cin >> orderDay;
    
    	cout << "Order Month: ";
    
    	cin >> orderMonth;
    
    	cout << "Order Year: ";
    
    	cin >> orderYear;
    
    	cout << "Enter number of shirts: ";
    
    	cin >> shirts;
    
    	cout << "Enter number of pants: ";
    
    	cin >> pants;
    
    	cout << "Enter number of dresses: ";
    
    	cin >> dresses;
    
    	cout << "Enter number of ties: ";
    
    	cin >> ties;
    
    	
    
    	totalItems = shirts + pants + dresses + ties;
    
    
    
    	totalCostShirts   = shirts  * priceShirts;
    
    	totalCostPants    = pants   * pricePants;
    
    	totalCostDresses  = dresses * priceDresses;
    
    	totalCostTies     = ties    * priceTies;
    
    	totalCostCleaning = totalCostShirts + totalCostPants +
    
    		                totalCostDresses + totalCostTies;
    
    
    
    	cout << "The total order is: " << totalCostCleaning << "\n";
    
    	cout << "Amount Tended: ";
    
    	cin >> amountTended;
    
    	difference = amountTended - totalCostCleaning;
    
    
    
    	cout << "\n====================================";
    
    	cout << "\n-=- Georgetown Cleaning Services -=-";
    
    	cout << "\n====================================";
    
    	cout << "\nCustomer Order";
    
    	cout << "\nCustomer Name:  " << customerName;
    
    	cout << "\nCustomer Phone: " << customerPhone;
    
    	cout << "\nOrder Date: " << orderMonth
    
    		 << '/' << orderDay << '/' << orderYear;
    
    	cout << "\n------------------------------------"
    
    		 << "\nItem Type  Unit Price Qty Sub-Total";
    
    	cout << "\n------------------------------------"
    
    	     << "\nShirts:      " << priceShirts << "      " << shirts << "     " << totalCostShirts
    
    	     << "\nPants:       " << pricePants << "      " << pants << "     " << totalCostPants
    
    	     << "\nDresses:     " << priceDresses << "      " << dresses << "     " << totalCostDresses
    
    	     << "\nTies:        " << priceTies << "      " << ties << "     " << totalCostTies;
    
    	cout << "\n------------------------------------"
    
    		 << "\nTotal Number of Items:   " << totalItems
    
    		 << "\nTotal Cleaning of Items: " << totalCostCleaning
    
    		 << "\nAmount Tended:           " << amountTended
    
    		 << "\nDifference:                " << difference << "\n";
    
    
    
    	return 0;
    
    }
  2. Execute the application and process an order. Here is an example:
     
    -=- Georgetown Cleaning Services -=-
    
    Enter Customer Name:  Raymond Lamont
    
    Enter Customer Phone: (202) 888-0022
    
    Enter the date this order was placed
    
    Order Day:   20
    
    Order Month: 02
    
    Order Year: 2002
    
    Enter number of shirts: 5
    
    Enter number of pants: 2
    
    Enter number of dresses: 0
    
    Enter number of ties: 4
    
    The total order is: 18.35
    
    Amount Tended: 20
    
    
    
    ====================================
    
    -=- Georgetown Cleaning Services -=-
    
    ====================================
    
    Customer Order
    
    Customer Name:  Raymond Lamont
    
    Customer Phone: (202) 888-0022
    
    Order Date: 2/20/2002
    
    ------------------------------------
    
    Item Type  Unit Price Qty Sub-Total
    
    ------------------------------------
    
    Shirts:      1.25      5     6.25
    
    Pants:       2.75      2     5.5
    
    Dresses:     3.25      0     0
    
    Ties:        1.65      4     6.6
    
    ------------------------------------
    
    Total Number of Items:   11
    
    Total Cleaning of Items: 18.35
    
    Amount Tended:           20
    
    Difference:                1.65
  3. Return to your programming environment

The Division 

Dividing an item means cutting it in pieces or fractions of a set value. For example, when you cut an apple in the middle, you are dividing it in 2 pieces. If you cut each one of the resulting pieces, you will get 4 pieces or fractions. This is considered that you have divided the apple in 4 parts. 

Therefore, the division is used to get the fraction of one number in terms of another.

The division is performed with the forward slash /.

When performing the division, be aware of its many rules. Never divide by zero (0). Make sure that you know the relationship(s) between the numbers involved in the operation.

Here is an example:

// Program used to get half of a number.

#include <iostream>

using namespace std;



int main()

{

	float a;



	// Get a number from the user.

	cout << "\nType a number: ";

	cin >> a;

	cout << " Half of " << a << " is " << a / 2 << "\n\n";



	return 0;

}
 

Practical LearningPractical Learning: Using the Division

  1. To divide a value, change the file as follows:
     
    #include <iostream>
    
    using namespace std;
    
    
    
    int main()
    
    {
    
    	char customerName[60], customerPhone[20];
    
    
    
    	unsigned short shirts;
    
    	unsigned short pants;
    
    	unsigned short dresses;
    
    	unsigned short ties;
    
    	unsigned short totalItems;
    
    	
    
    	double priceShirts  = 1.25;
    
    	double pricePants   = 2.75;
    
    	double priceDresses = 3.25;
    
    	double priceTies    = 1.65;
    
    	double taxRate      = 5.75; // 5.75%
    
    
    
    	double totalCostShirts, totalCostPants,
    
    		   totalCostDresses, totalCostTies;
    
    	double totalCostCleaning;
    
    	double amountTended, difference;
    
    	double taxAmount, netPrice;
    
    
    
    	int orderDay;
    
    	int orderMonth;
    
    	int orderYear;
    
    
    
    	cout << " -=- Georgetown Cleaning Services -=-\n";
    
    	cout << "Enter Customer Name:  ";
    
    	cin >> ws;
    
    	cin.getline(customerName, 60);
    
    	cout << "Enter Customer Phone: ";
    
    	cin.getline(customerPhone, 20);
    
    	cout << "Enter the date this order was placed\n";
    
    	cout << "Order Day:   ";
    
    	cin >> orderDay;
    
    	cout << "Order Month: ";
    
    	cin >> orderMonth;
    
    	cout << "Order Year: ";
    
    	cin >> orderYear;
    
    	cout << "Enter number of shirts: ";
    
    	cin >> shirts;
    
    	cout << "Enter number of pants: ";
    
    	cin >> pants;
    
    	cout << "Enter number of dresses: ";
    
    	cin >> dresses;
    
    	cout << "Enter number of ties: ";
    
    	cin >> ties;
    
    	
    
    	totalItems = shirts + pants + dresses + ties;
    
    
    
    	totalCostShirts   = shirts  * priceShirts;
    
    	totalCostPants    = pants   * pricePants;
    
    	totalCostDresses  = dresses * priceDresses;
    
    	totalCostTies     = ties    * priceTies;
    
    	totalCostCleaning = totalCostShirts + totalCostPants +
    
    		                totalCostDresses + totalCostTies;
    
    
    
    	taxAmount  = totalCostCleaning * taxRate / 100;
    
    	netPrice   = totalCostCleaning + taxAmount;
    
    
    
    	cout << "The total order is: " << netPrice << "\n";
    
    	cout << "Amount Tended: ";
    
    	cin >> amountTended;
    
    
    
    	difference = amountTended - netPrice;
    
    
    
    	cout << "\n====================================";
    
    	cout << "\n-=- Georgetown Cleaning Services -=-";
    
    	cout << "\n====================================";
    
    	cout << "\nCustomer Order";
    
    	cout << "\nCustomer Name:  " << customerName;
    
    	cout << "\nCustomer Phone: " << customerPhone;
    
    	cout << "\nOrder Date: " << orderMonth
    
    		 << '/' << orderDay << '/' << orderYear;
    
    	cout << "\n------------------------------------"
    
    		 << "\nItem Type  Unit Price Qty Sub-Total";
    
    	cout << "\n------------------------------------"
    
    	     	<< "\nShirts:      " << priceShirts << "      " << shirts << "     " << totalCostShirts
    
    	     	<< "\nPants:       " << pricePants << "      " << pants << "     " << totalCostPants
    
    		 << "\nDresses:     " << priceDresses << "      "
    
    		 << dresses << "     " << totalCostDresses
    
    	     << "\nTies:        " << priceTies << "      " << ties << "     " << totalCostTies;
    
    	cout << "\n------------------------------------"
    
    		 << "\nTotal Number of Items:   " << totalItems
    
    		 << "\nTotal Cleaning of Items: " << totalCostCleaning
    
    		 << "\nTax Rate:                " << taxRate << "%"
    
    		 << "\nTax Amount:              " << taxAmount
    
    		 << "\nNet Price:               " << netPrice
    
    		 << "\nAmount Tended:           " << amountTended
    
    		 << "\nDifference:              " << difference << "\n";
    
    
    
    	return 0;
    
    }
  2. Execute the application and perform an order. Here is an example:
     
    -=- Georgetown Cleaning Services -=-
    
    Enter Customer Name:  Jeanne Lemarre
    
    Enter Customer Phone: (410) 022-4209
    
    Enter the date this order was placed
    
    Order Day:   04
    
    Order Month: 08
    
    Order Year: 2000
    
    Enter number of shirts: 12
    
    Enter number of pants: 8
    
    Enter number of dresses: 5
    
    Enter number of ties: 3
    
    The total order is: 61.5465
    
    Amount Tended: 100
    
    
    
    ====================================
    
    -=- Georgetown Cleaning Services -=-
    
    ====================================
    
    Customer Order
    
    Customer Name:  Jeanne Lemarre
    
    Customer Phone: (410) 022-4209
    
    Order Date: 8/4/2000
    
    ------------------------------------
    
    Item Type  Unit Price Qty Sub-Total
    
    ------------------------------------
    
    Shirts:        1.25      12     15
    
    Pants:        2.75        8     22
    
    Dresses:     3.25       5     16.25
    
    Ties:           1.65        3     4.95
    
    ------------------------------------
    
    Total Number of Items:   28
    
    Total Cleaning of Items: 58.2
    
    Tax Rate:                        5.75%
    
    Tax Amount:                    3.3465
    
    Net Price:                         61.5465
    
    Amount Tended:              100
    
    Difference:                       38.4535
  3. Return to your programming environment
 

The Remainder

The division program above will give you a result of a number with decimal values if you type an odd number (like 147), which is fine in some circumstances. Sometimes you will want to get the value remaining after a division renders a natural result. Imagine you have 26 kids at a football (soccer) stadium and they are about to start. You know that you need 11 kids for each team to start. If the game starts with the right amount of players, how many will seat and wait?

The remainder operation is performed with the percent sign (%) which is gotten from pressing Shift + 5.

Here is an example:

// Program used to perform the remainder operation.

#include <iostream>

using namespace std;



int main()

{

	int players = 26;

	int yourPlayers;



	// When the game starts, how many players will wait?.

	cout << "\nOut of " << players << " players, "

	        << 26 % 11 << " players will have to wait when the "

	        << " football match starts.\n\n";



	// Get the new number of players

	cout << "How many players do you have today? ";

	cin >> yourPlayers;



	cout << "\nOut of " << yourPlayers << " players, "

	     << yourPlayers % 11 << " players will not have a team "

	     << " in the beginning.\n\n";



	return 0;

}

C++ Operators

As a language, C++ is equipped with non-algebraic operators intended to perform specific operations. We will review some of these operators now; some others need intermediary concepts that we haven't studied and cannot study at this time.

Parentheses

Like most computer languages, C++ uses parentheses to isolate a group of items that must be considered as belonging to one entity. For example, as we will learn soon, parentheses allow a function to delimit the list of its arguments.

Parentheses can also be used to isolate an operation or an expression with regard to another operation or expression. For example, when studying the algebraic operations, we saw that the subtraction is not associative and can lead to unpredictable results. In the same way, if your operation involves various operators such as addition(s) and subtraction(s), you can use parentheses to tell the compiler how to proceed with the operations, that is, what operation should (must) be performed first. Consider the following algebraic operation:

154 - 12 + 8

The question here is to know whether you want to subtract the addition of 12 and 8 from 154 or you want to add the difference between 154 and 12 to 8. Using parentheses, you can communique your intentions to the compiler. This is illustrated in the following program:

// Using parentheses

#include <iostream>

using namespace std;



int main()

{

	cout << "(154 - 12) + 8 = " << (154 - 12) + 8 << "\n";

	cout << "154 - (12 + 8) = " << 154 - (12 + 8) << "\n";



	return 0;

}

This would produce:

154 - 12) + 8 = 150

154 - (12 + 8) = 134

As you can see, using the parentheses controls how the whole operation would proceed This difference can be even more accentuated if your operation includes 3 or more operators and 4 or more operands.

Square Brackets

Square brackets are mostly used to control the dimension or index of an array. We will learn how to use them when we study arrays.

Curly Brackets

Curly brackets are probably the most used and the most tolerant operators of C++. Fundamentaly, curly brackets are used to create or isolate sections of code. As such they are required to delimit the bodies of functions, classes, structures, exceptions, and namespaces. They are also optionally used in conditional statements. Square brackets are also used to create variable scope. We will view all these uses of square brackets in this book.

Incrementing a Number

We are used to counting numbers such as 1, 2, 3, 4, etc. In reality, when counting such numbers, we are simply adding 1 to a number in order to get the next number in the range. C++ provides a technique of transparently counting such numbers.

The simplest technique of incrementing a value consists of adding 1 to it. After adding 1, the value or the variable is (permanently) modified and the variable would hold the new value. This is illustrated in the following example:

#include <iostream>

using namespace std;



int main()

{

	int value = 12;



	cout << "Value = " << value << endl; 



	value = value + 1;

	cout << "Value = " << value << endl;



	return 0;

}

This would produce:

Value = 12

Value = 13

C++ provides a special operator that takes care of this operation. The operator is called the increment operator and is represented by ++. Instead of writing Value = Value + 1, you can write Value++ and you would get the same result. The above program can be re-written as follows:

#include <iostream>

using namespace std;



int main()

{

	int value = 12;



	cout << "Value = " << value << endl;

	Value++;

	cout << "Value = " << value << endl;



	return 0;

}

The ++ is called a unary operator because it operates on only one variable. It is used to modify the value of the variable by adding 1 to it.

Every time the Value++ is executed, the compiler takes the previous value of the variable, adds 1 to it, and the variable holds the incremented value:

#include <iostream>

using namespace std;



int main()

{

	int value = 12;



	cout << "Value = " << value << endl; 

	value++;

	cout << "Value = " << value << endl;



	value++; 

	cout << "Value = " << value << endl;



	value++;

	cout << "Value = " << value << endl;



	return 0;

}

This would produce:

Value = 12

Value = 13

Value = 14

Value = 15 

Pre and Post-Increment

When using the ++ operator, the position of the operator with regard to the variable it is modifying can be significant. To increment the value of the variable before re-using it, you should position the operator on the left of the variable:

#include <iostream>

using namespace std;



int main()

{

	int value = 12;



	cout << "Value = " << value << endl;

	cout << "Value = " << ++value << endl;

	cout << "Value = " << value << endl;



	return 0;

}

This would produce:

Value = 12

Value = 13

Value = 13

When writing ++Value, the value of the variable is incremented before being called. On the other hand, if you want to first use a variable, then increment it, in other words, if you want to increment the variable after calling it, position the ++ operator on the right side of the variable:

#include <iostream>

using namespace std;



int main()

{

	int value = 12;



	cout << "Value = " << value << endl;

	cout << "Value = " << value++ << endl; 

	cout << "Value = " << value << endl;



	return 0;

}

This would produce:

Value = 12

Value = 12

Value = 13 

Decrementing – Pre and Post-Decrementing

When counting numbers backward, such as 8, 7, 6, 5, etc, we are in fact subtracting 1 from a value in order to get the lesser value. This operation is referred to as decrementing a variable. This operation works as if a variable called Value has its value diminished by 1, as in Value = Value – 1:

#include <iostream>

using namespace std;



int main()

{

	int value = 8;



	cout << "Value = " << value << endl;

	value = value - 1;

	cout << "Value = " << value << endl;



	return 0;

}

This would produce:

Value = 8

Value = 7

As done to increment, C++ provides a quicker way of subtracting 1 from a variable. This is done using the decrement operation, that is --. To use the decrement operator, type – on the left or the right side of the variable when this operation is desired. Using the decrement operator, the above program could be written:

#include <iostream>

using namespace std;



int main()

{

	int value = 8;



	cout << "Value = " << value << endl;

	value--;

	cout << "Value = " << value << endl;



	return 0;

}

Once again, the position of the operator can be important. If you want to decrement the variable before calling it, position the operator on the left side of the operand. This is illustrated in the following program:

#include <iostream>

using namespace std;



int main()

{

	int value = 8;



	cout << "Value = " << value << endl;

	cout << "Value = " << --value << endl;

	cout << "Value = " << value << endl;



	return 0;

}

This would produce:

Value = 8

Value = 7

Value = 7

If you plan to decrement a variable only after it has been accessed, position the operator on the right side of the variable. Here is an example:

#include <iostream>

using namespace std;



int main()

{

	int value = 8;



	cout << "Value = " << value << endl;

	cout << "Value = " << value-- << endl;

	cout << "Value = " << value << endl;

}

This would produce:

Value = 8

Value = 8

Value = 7

Techniques of Incrementing and Decrementing a Variable

It is not unusual to add or subtract a constant value to or from a variable. All you have to do is to declare another variable that would hold the new value. Here is an example:

#include <iostream>

using namespace std;



int main()

{

	double value = 12.75;

	double newValue;



	cout << "Value = " << value << endl;

	newValue = value + 2.42;

	cout << "Value = " << newValue << endl;



	return 0;

}

This would produce:

Value = 12.75

Value = 15.17

The above technique requires that you use an extra variable in your application. The advantage is that each value can hold its own value although the value of the second variable depends on whatever would happen to the original or source variable.

Sometimes in your program you will not need to keep the original value of the source variable. You might want to simply permanently modify the value that a variable is holding. In this case you can perform the addition operation directly on the variable by adding the desired value to the variable. This operation modifies whatever value a variable is holding and does not need an additional variable. To add a value to a variable and change the value that the variable is holding, use the assignment “=” and the addition “+” operators to produce a new operator as +=

Here is an example:

#include <iostream>

using namespace std;



int main()

{

	double value = 12.75;



	cout << "Value = " << value << endl;

	value += 4.42;

	cout << "Value = " << value << endl;



	return 0;

}

This would produce:

Value = 12.75

Value = 17.17

To diminish the value of a variable, instead of the addition operation, use the subtraction and apply the same technique. In the above program, the variable can have its value decremented by applying the assignment and the subtraction operations on the variable. This is done with the -= operator. Here is an example:

#include <iostream>

using namespace std;



int main()

{

	double value = 12.75;



	cout << "Value = " << value << endl;

	value -= 4.42;

	cout << "Value = " << value << endl;



	return 0;

}

This would produce:

Value = 12.75

Value = 8.33 

Operator Precedence and Direction

When combining operations in C++, there are two aspects involved: an operator's precedence and its direction.

If you ask a program to add two numbers, for example 240 + 65, the program will execute the operation by adding 240 to 65; in other words, it would read 240, then +, then 65, and evaluate the result. This is considered as operating from left to right: 240 -> + -> 65.

On the other hand, if you ask the program to find the size of a variable, you would write sizeof(FirstName). In this case, the program would first consider the FirstName variable, then it would evaluate the size of that variable; in other words, it first finds out what the variable it is operating on, in this case FirstName. Once it knows the variable that is involved, it would execute the operation. This is considered that the operation is executed from right to left.

This process is referred to as the direction of the operation.

As you will regularly combine operators on your various calculations, each operation is known for how much it "weighs" as compared to other operators. This is known as its precedence. This means that when a certain operator is combined with another, such as a + b * c, or x / y - z, some operators would execute before others, almost regardless of how you write the operation. That's why an operator could be categorized by its level of precedence.

 

Previous Copyright © 2002-2005 FunctionX, Inc. Next