A.4. Chapter 6

A.4.1. Exercise 1 Solution

The decision can be made using a single if statement:

price = FULLPRICE;
if (age < 13 || age > 64)
{
     price *= .5M;
}

The if statement checks for the child and senior price values and adjusts the price accordingly.

A.4.2. Exercise 2 Solution

The most important style consideration is consistency. The placement of curly braces is whatever you or your programming team decides works best for you. Personally, I think all if-else statement blocks should use curly braces, even when only a single statement is being controlled.

A.4.3. Exercise 3 Solution

It is appropriate to use cascading if statements anytime a single value can have multiple resolutions. Keep in mind that a switch might also be appropriate in lieu of a cascading if statement.

A.4.4. Exercise 4 Solution

if (x = y);
{
     price =* .06;
}

There are a number of problems. First, the if expression uses the assignment operator rather than a test for equality. Second, the semicolon after the if expression and before the opening curly brace of the if statement block is an error. Third, the shortcut assignment-multiplication operator is backwards (it should be *=). Fourth, assuming that price is a decimal data type, which it probably should be, the .06 literal needs the M type designator after the literal.

A.4.5. Exercise 5 Solution

One possible solution is:

const int SMALL = 1; const int MEDIUM = 2; const int LARGE = 3; decimal smallPrice = 6.0M; decimal mediumPrice = smallPrice + 1.0M; ...

Get Beginning C# 3.0 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.