clearly visual basic: programming with visual basic 2008 chapter 8 what’s wrong with it?

Post on 14-Jan-2016

234 Views

Category:

Documents

6 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Clearly Visual Basic: Programming with Visual Basic 2008

Chapter 8 What’s Wrong with It?

Objectives

• Locate syntax errors using the Error List window

• Locate a logic error by stepping through the code

• Locate logic errors using breakpoints

• Fix syntax and logic errors

Clearly Visual Basic: Programming with Visual Basic 2008 2

There’s a Bug in my Soup!

• Downside to variables and named constants– Their use requires additional lines of code

• Bug– Error in a program’s code

• Debugging– Process of locating and correcting any bugs in a

program

• Program bugs – Typically caused by either syntax errors or logic

errors

Clearly Visual Basic: Programming with Visual Basic 2008 3

Finding Syntax Errors

• Syntax error – Occurs when you break one of the language’s rules

• Code Editor– Detects most syntax errors as you enter instructions

Clearly Visual Basic: Programming with Visual Basic 2008 4

Locating Logic Errors

• Logic error – Can occur for a variety of reasons– Difficult type of error to locate– Cannot be detected by Code Editor

Clearly Visual Basic: Programming with Visual Basic 2008 5

Locating Logic Errors (continued)

• Debug the Discount application– Letter D at end of a value indicates value’s data type

is Decimal

Clearly Visual Basic: Programming with Visual Basic 2008 6

Clearly Visual Basic: Programming with Visual Basic 2008 7

Clearly Visual Basic: Programming with Visual Basic 2008

8

Locating Logic Errors (continued)

• Use a breakpoint to pause execution at a specific line in the code

• Debug the Hours Worked application– .0 at end of a number indicates that number’s data

type is Double

Clearly Visual Basic: Programming with Visual Basic 2008 9

Clearly Visual Basic: Programming with Visual Basic 2008 10

Hawkins Solution

Public Class frmMain Dim decBegin As Decimal Dim decEarned As Decimal Dim decSpent As Decimal Dim decEnding As DecimalPrivate Sub btnCalc_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnCalc.Click ' calculates the ending balance based on the beginning ' balance, amount earned, and amount spent ' assign input to variables Decimal.TryParse(txtBegin.Text, decBegin) Decimal.TryParse(txtSpent.Text, decSpent)

' calculate and display ending balance decEnding = decBegin + decEarned - decSpent lblEnding = decEnding.ToString("C2") End SubEnd Class

' calculates and displays your weight on planets and the moon' Jupiter is 2.54 times earth weight, Venus is .91, Mars is .38, moon is .17

Public Class frmMain Dim dblEarth As Double Dim dblJupiter As Double: Dim dblVenus As Double Dim dblMars As Double: Dim dblMoon As DoublePrivate Sub btnCalc_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnCalc.Click' calculates and displays your weight on planets and the moon' Jupiter is 2.54 times earth weight, Venus is .91, Mars is .38, moon is .17 ' calculate weights dblJupiter = dblEarth * 2.54 : dblVenus = dblEarth * 0.91 dblMars = dblEarth * 0.38 : dblMoon = dblEarth * 0.17 ' display weights lblJupiter.Text = dblJupiter.ToString("N2") lblVenus.Text = dblVenus.ToString("N2") lblMars.Text = dblMars.ToString("N2") lblMoon.Text = dblMars.ToString("N2")End Class

Martins Solution

Answer should be $53.35

16

Private Sub btnGainLoss_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnGainLoss.Click ' calculates and displays the gain or loss on a stock

Dim intShares As Integer Dim decOpenPrice As Decimal Dim decClosePrice As Decimal Dim decGainLoss As Decimal

' assign input to variables Integer.TryParse(txtShares.Text, intShares) Decimal.TryParse(txtOpening.Text, decClosePrice) Decimal.TryParse(txtClosing.Text, decClosePrice)

' calculate and display gain or loss decGainLoss = decClosePrice - decOpenPrice * intShares lblGainLoss.Text = decGainLoss.ToString("C2")

End Sub

Summary

• Program errors (bugs)– Caused by either syntax errors or logic errors

• Syntax errors in an application’s code – Listed in Error List window when you start the

application

• You can locate logic errors by stepping through the code

• Letter D at the end of a value– Indicates value’s data type is Decimal

Clearly Visual Basic: Programming with Visual Basic 2008 17

Summary (continued)

• .0 at the end of a number – Indicates that the number’s data type is Double

• Before viewing value stored in a control or variable– First consider the value you expect to find

Clearly Visual Basic: Programming with Visual Basic 2008 18

top related