Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

C Sharp (C#) : Benadir University

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 30

C Sharp(C#)

Course: C#

Class: Batch13

Lecturer: Eng. Hassan Abdi Arale (Arale)


BENADIR UNIVERSITY
Faculty of Computer Science and IT
C Sharp(C#)

Chapter Four

Making Decisions
Topics
• 4.1 Decision Structures and the if Statement
• 4.2 The if-else Statement
• 4.3 Nested Decision Structures
• 4.4 Logical Operators
• 4.5 bool Variables and Flags
• 4.6 Comparing Strings
• 4.7 Preventing Data Conversion Exceptions with the TryParse Method
• 4.8 Input Validation
• 4.9 Radio Buttons and CheckBoxes
• 4.10 The switch Statement
• 4.11 Introduction to List Boxes
4.1 Decision Structures
• A control structure is a logical design that
controls the order in which statements execute
• A sequence structure is a set of statements
that execute in the order that they appear
• A decision structure execute statements only
under certain circumstances
– A specific action is performed only if a certain
condition exists
– Also known as a selection structure
A Simple Decision
Structure
• The flowchart is a single-alternative decision
structure
• It provides only one alternative path of
execution
• In C#, you can use the if statement to write
True
such structures. A generic format is: Cold
outside
if (expression)
{ Wear a coat
Statements; False
Statements;
etc.;
}

• The expression is a Boolean expression that


can be evaluated as either true or false
Relational Operators
• A relational operator determines whether a specific
relationship exists between two values

Operator Meaning Expression Meaning

> Greater than x>y Is x greater than y?

< Less than x<y Is x less than y?

>= Greater than or equal to x >= y Is x greater than or equal to y?

<= Less than or equal to x <= y Is x less than or equal to you?

== Equal to x == y Is x equal to y?

!= Not equal to x != y Is x not equal to you?


if Statement with Boolean
Expression

if (sales > 50000) sales > True


{ 50000

bonus = 500; bonus = 500


} False
4.2 The if-else statement
• An if-else statement will execute one block of statement if
its Boolean expression is true or another block if its
Boolean expression is false
• It has two parts: an if clause and an else clause
• In C#, a generic format looks:
if (expression)
{
statements;
}
else
{
statements;
}
Example of if-else
Statement

if (temp > 40)


{
False True
temp >40 MessageBox.Show(“hot”);
}
else
display “cold” display “hot” {
MessageBox.Show(“cold”);
}
4.3 Nested Decision
Structures
• You can create nested decision structures to test more than one
condition.
• Nested means “one inside another”
• In C#, a generic format is: if (expression)
{
if (expression)
{
statements;
}
else
{
statements;
}
}
else
{
statements
}
A Sample Nested Decision
Structure
if (salary >= 40000)
{
if (yearOnJob >= 2)
{
decisionLabel.Text = "You qualify for the load."
}
else
{
decisionLabel.Text = "Minimum years at current " +
"job not met." Salary >=
400000
}
}
Display “Minimum
else
salary requirement not yearsOnJob
{ met.” >= 2
decisionLabel.Text = "Minimum salary requirement "
+ "not met."
Display “Minimum
} Display “You qualify
years at current job
for the load.”
not met.”

End
The if-else-if Statement
• You can also create a decision structure that evaluates multiple
conditions to make the final decision using the if-else-if statement
• In C#, the generic format is: int grade = double.Parse(textBox1.Text);
if (grade >=90)
if (expression) {
{ MessageBox.Show("A");
} }
else if (grade >=80)
else if (expression) {
{ MessageBox.Show("B");
}
} else if (grade >=70)
else if (expression) {
MessageBox.Show("C");
{
}
} else if (grade >=60)
… {
MessageBox.Show("D");
else }
{ else
{
} MessageBox.Show("F");
}
4.4 Logical Operators
• The logical AND operator (&&) and the logical OR operator (||) allow
you to connect multiple Boolean expressions to create a compound
expression
• The logical NOT operator (!) reverses the truth of a Boolean
expression
Operator Meaning Description
&& AND Both subexpression must be true for the compound expression to be true
|| OR One or both subexpression must be true for the compound expression to
be true
! NOT It negates (reverses) the value to its opposite one.

Expression Meaning
x >y && a < b Is x greater than y AND is a less than b?
x == y || x == z Is x equal to y OR is x equal to z?
! (x > y) Is the expression x > y NOT true?
Sample Decision Structures
with Logical Operators
• The && operator
if (temperature < 20 && minutes > 12)
{
MessageBox.Show(“The temperature is in the danger zone.”);
}

• The || operator
if (temperature < 20 || temperature > 100)
{
MessageBox.Show(“The temperature is in the danger zone.”);
}

• The ! Operator
if (!(temperature > 100))
{
MessageBox.Show(“The is below the maximum temperature.”);
}
4.5 bool Variables and
Flags
• You can store the values true or false in bool variables,
which are commonly used as flags
• A flag is a variable that signals when some condition
exists in the program
– False – indicates the condition does not exist
– True – indicates the condition exists
if (grandMaster)
{
powerLevel += 500;
}
If (!grandMaster)
{
powerLevel = 100;
}
4.6 Comparing Strings
• You can use certain relational operators and methods to
compare strings. For example,
– The == operator can compare two strings
string name1 = “Mary”;
string name2 = “Mark”;
if (name1 == name2) { }
– You can compare string variables with string literals, too
if (month ! = “October”) { }

– The String.Compare method can compare two strings


string name1 = “Mary”;
string name2 = “Mark”;
if (String.Compare(name1, name2) == 0) { }
4.7 Preventing Data
Conversion Exception
• Exception should be prevented when possible
• The TryParse methods can prevent exceptions caused by users
entering invalid data
– int.TryParse
– doubel.TryParse
– decimal.TryParse
• The generic syntax is:

int.TryParse(string, out targetVariable)

• The out keyword is required; it specifies that the targetVariable is an


output variable
Samples of TryParse
Methods
// int.TryParse
int number;
if (int.TryParse(inputTextBox.Text, out number)) { } else { }

//double.TryParse
double number;
if (double.TryParse(inputTextBox.Text, out number)) { } else { }

//decimal.TryParse
decimal number;
if (decimal.TryParse(inputTextBox.Text, out number)) { } else { }
4.8 Input Validation
• Input validation is the process of inspecting data that has been
entered into a program to make sure it is valid before it is used
• TryParse methods check if the user enters the data, but it does not
check the integrity of the data. For example,
– In a payroll program we might validate the number of hours worked.

if (hours > 0 && hours <= 168) { } else { }

– In a program that gets test scores, we can limits its data to an integer
range of 0 through 100.

if (testScore >= 0 && testScore <=100) { } else { }


4.9 Radio Buttons and Check
Boxes
• Radio buttons allow users to select one choice from
several possible choices
– Clicking on a radio button, the program automatically deselects
any others. This is known as mutually exclusive selection
• Check boxes allows users to select multiple options
RadioButton Control
• The .NET Framework provides the RadioButton
Control for you to create a group of radio buttons
• Common properties are:
– Text: holds the text that is displayed next to the radio
button
– Checked: a Boolean property that determines
whether the control is selected or deselected
Working with Radio Buttons in
Code
• In code, use a decision structure to determine
whether a RadioButton is selected. For example,

If (choiceRadioButton.Checked) { } else { }

• You do not need to use the == operator,


although the following is equivalent to the above

If (choiceRadioButton.Checked == true) { } else { }


CheckBox Control
• The .NET Framework provide the CheckBox
Control for you to give the user an option, such
as true/false or yes/no
• Common properties are:
– Text: holds the text that is displayed next to the radio button
– Checked: a Boolean property that determines whether the
control is selected or deselected
• In code, use a decision structure to determine
whether a CheckBox is selected. For example,
If (option1CheckBox.Checked) { } else { }
The CheckedChanged
Event
• Anything a RadioButton or a CheckBox control’s
Checked property changes, a CheckedChanged event is
raised
• You can create a CheckedChanged event handler and
write codes to respond to the event
• Double click the control in the Designer to create an
empty CheckedChanged event handler similar to:

private void yellowRadioButton_CheckedChanged(object sender, EventArgs e) { }


4.10 The switch
Statement
• The switch statement lets the value of a
variable or an expression determine which path
of execution the program will take
• It is a multiple-alternative decision structure
• It can be used as an alternative to an if-else-if
statement that tests the same variable or
expression for several different values
Generic Format of switch
Statement
swtich (testExpression)
{
• The testExpression is a variable or an
case value_1:
statements; expression that given an integer,
break; string, or bool value. Yet, it cannot be
case value_2:
a floating-point or decimal value.
statements;
break; • Each case is an individual subsection
… containing one or more statements,
case value_n:
followed by a break statement
statements;
break;
• The default section is optional and is
default: designed for a situation that the
statements; testExpression will not match with any
break;
}
of the case
Sample switch Statement
switch (month)
{
case 1:
MessageBox.Show(“January”);
break;

month
case 2:
MessageBox.Show(“February”);
break;

case 3: Display
MessageBox.Show(“March”); Display Display Display “Error:
“January” “February” “March” Invalid
break; month”

default:
MessageBox.Show(“Error: Invalid month”);
break;
}
4.11 Introduction to List
Boxes
• A list box displays a list of items and allow the user to select an item
from the list
• In C#, you can use the ListBox control to create a list box
• Commonly used properties are:
– Text: Gets or searches for the text of the currently selected item in the
ListBox
– Items: Gets the items of the ListBox
– SelectedItem: Gets or sets the currently selected item in the ListBox.
When the user selects an item, the item is stored in this property. You
can use the following to get the selected item from a list box:

selectedFruit = fruitListBox.SelectedItem.ToString();

– SelectedIndex: Gets or sets the zero-based index of the currently


selected item in a ListBox
SelectedItem
• An exception will occur if you try to get the value of a
ListBox’s SelectedItem property when no item is
selected
• Items in a list box have an index starting with 0
– The first item has index 0, the nth item has index n-1
– The SelectedIndex property keeps the index. If no item is
selected the, value of SelectedIndex is -1
• The following is an example to use SelectedIndex
property to make sure that an item is selected before you
get the value from SelectedItem.
if (fruitListBox.SelectedIndex != -1) { }
That is……………….

Questions?

You might also like