bİl528 – bilgisayar programlama ii making decisions, loops, debugging, designing objects using...
Post on 31-Dec-2015
220 Views
Preview:
TRANSCRIPT
BİL528 – Bilgisayar Programlama II
Making Decisions, Loops, Debugging, Designing Objects Using Classes
1
Contents
• Making Decisions– if, else, switch
• Loops– for, while, do-while, foreach
• Debugging– by using Visual Studio features– try…catch…finally
• Designing Objects using Classes
2
if Statement
if (expression) <statement to execute when expression is true>;
if (expression){ <statement 1>; <statement 2>;}
4
Exercise
• Write a program which checks whether an integer number written in a textbox is less than 100 or not.
5
if..else
if (expression) <statement to execute when expression is true>;else <statement to execute when expression is false>;
• If there are more statements, use curly brackets.
6
Nested if..else Statements
if (expression1) { if (expression2) { <statements1> } else { <statements2> }} else { <statements3>}
7
switch Exampleswitch (strProfession){ case "teacher": MessageBox.Show("You educate our young"); break; case "programmer": MessageBox.Show("You are most likely a geek"); break; case "accountant": MessageBox.Show("You are a bean counter"); break; default: MessageBox.Show("Profession not found in switch statement"); break;}
9
In C, only integer values can be used as the expression but in
C#, strings can be used too.
Don’t forget to use breaks!
switch Exercise
• Write a program which displays the names of some animals (horse, dog, bird, cat, snake, and centipede) in a combobox and displays the number of legs of the selected animal.
10
Solution for the switch Exercise
switch (cboAnimals.Text){case “Bird”: MessageBox.Show(“The animal has 2 legs.”); break;case “Dog”: // Notice there is no code here to execute.case “Horse”: // Notice there is no code here to execute.case “Cat”: MessageBox.Show(“The animal has 4 legs.”); break;case “Snake”: MessageBox.Show(“The animal has no legs.”); break;case “Centipede”: MessageBox.Show(“The animal has 100 legs.”);
break;default: MessageBox.Show(“You did not select from the list!”); break;}
11
for Loop
for (initializers; check_condition; modifying_expressions){ <statements>}• Example:for (i = 0; i < 10; i++) { MessageBox.Show("i = " + i.ToString());}
13
Displaying Months using for Loop
string[] months = new string[] { "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" };
for (int i = 0; i < months.Length; i++){ MessageBox.Show(months[i]);}
17
Displaying Months using foreach
string[] months = new string[] { "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" };
foreach (string month in months){ MessageBox.Show(month);}
18
Debugging
• No one writes perfect code.• You’re most certainly familiar with those
problems that prevent code from executing properly; they’re called bugs.
• We can’t teach you how to debug every possible build or runtime error you might encounter.
• Debugging is a skill and an art.
21
About Commenting…
• Document the code’s purpose (the why, not the how).• Clearly indicate the thinking and logic behind the
code.• Call attention to important turning points in the code.• Reduce the need for readers to run a simulation of the
code execution in their heads.• Comment your code as you are typing it. If you wait
until the code is complete, you probably won’t go back and add comments.
22
Identifying the Two Basic Types of Errors
• Build Errors– Visual C# won’t compile a project that has a build
error in it.– Example: Calling a method with incorrect
parameters.• Runtime Errors– Encountered when the project is being run.– Example: Division by zero.
23
Debugging Steps in Visual Studio
1. Locate the cursor to the line at which you want the program stops
2. Put a break point by pressing F93. Run the program by pressing F54. The program stops at each breakpoint and you can
see the values of the variables by moving mouse pointer on them
5. Press F10 to execute a single line, or F11 to enter into a method
6. Press F5 to continue, or Shift+F5 to stop debugging24
Immediate Window
• You can execute some statements using the Immediate Window at debugging time.
• Just write the expression and press Enter.
25
Locals and Watch Windows
• You can see the local variables in Locals window at debugging time.
• If there are so many local variables in your code, watching a specific variable may be harder.
• In this case, you can use the Watch window.• Just write the expressions into the Watch
window!
26
try..catch..finally
• While running a program through the IDE (i.e. during the development step, or Debug mode), you receive an error message if an error occurs.
• However, if your program runs in the final version (or Release mode), an error causes your program to terminate.
• For these cases, you may prefer using structured exception handling (or try..catch..finally)
27
Sections of the try Structure
• try: The try section is where you place code that might cause an exception.
• catch: Code within the catch section executes only when an exception occurs.
• finally: Code within the finally section occurs when the code within the try and/or catch sections completes. This section is where you place your cleanup code—code that you always want executed, regardless of whether an exception occurs.
28
try Example
int number = int.Parse(tbNumber.Text);int result = 100 / number;tbResult.Text = result.ToString();
29
An error may occur while converting a
text into an integer!
An error may occur if the number is
zero!
try Example – Solution 1
try{ int number = int.Parse(tbNumber.Text); int result = 100 / number; tbResult.Text = result.ToString();} catch { tbResult.Text = “An error occurred!”;}
30
try Example – Solution 2try{ int number = int.Parse(tbNumber.Text); int result = 100 / number; tbResult.Text = result.ToString();} catch (ArgumentException ex1){ tbResult.Text = “An ArgumentException error occurred!”;} catch (DivideByZeroException ex2) { tbResult.Text = “The divisor can’t be zero”;} catch (Exception ex) { tbResult.Text = “An unspecified error occurred. The details is: ” +
ex.Message;}
31
try Example – Solution 3
int result = 0;try{ int number = int.Parse(tbNumber.Text); result = 100 / number;} catch (Exception ex) { MessageBox.Show(“An unspecified error occurred. The details
is: ” + ex.Message);} finally { tbResult.Text = result.ToString();}
32
try Example on Database Operations
try{ … // Open database … // Make some operations on the database} catch { … // Error handling statements} finally { … // Close the database}
33
top related