Προς το περιεχόμενο

Εύκολη ερώτηση για τη visual basic


vivaki5

Προτεινόμενες αναρτήσεις

Δημοσ.

Private Sub BtnIson_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnIson.Click

Dim ProtosArithmos As Double

Dim DefterosArithmos As Double

Dim Praksi As Char

Dim Apotelesma As String

ProtosArithmos = CDbl(InputBox("Πρώτος Αριθμός", "Αριθμός", "0"))

DefterosArithmos = CDbl(InputBox("Δεύτερος Αριθμός", "Αριθμός", "0"))

Praksi = InputBox("Πράξη", "Πράξη")

If Praksi <> "+""-""*""/" Then

Apotelesma = "Πρέπει να εισάγετε μόνο κάποιο σύμβολο αριθμητικής πράξης"

LblApotelesma.Text = CStr(Apotelesma)

End If

Select Case Praksi

Case "+"

Apotelesma = (ProtosArithmos + DefterosArithmos)

LblApotelesma.Text = CStr(Apotelesma)

Case "-"

Apotelesma = (ProtosArithmos - DefterosArithmos)

LblApotelesma.Text = CStr(Apotelesma)

Case "*"

Apotelesma = (ProtosArithmos * DefterosArithmos)

LblApotelesma.Text = CStr(Apotelesma)

Case "/"

If (DefterosArithmos <> 0) Then

Apotelesma = (ProtosArithmos / DefterosArithmos)

LblApotelesma.Text = CStr(Apotelesma)

Else

Apotelesma = "Δεν γίνεται διαίρεση με το μηδέν"

LblApotelesma.Text = CStr(Apotelesma)

End If

Case "^"

Apotelesma = (ProtosArithmos ^ DefterosArithmos)

LblApotelesma.Text = CStr(Apotelesma)

End Select

End Sub

End Class

>

 

Η απορία μου είναι η εξής...Εφόσον στο πρώτο if δεν δίνεται ως επιλογή η πράξη "^" πως όταν του ζητήσεις αυτήν την πράξη την κάνει αντί να σου πει "Πρέπει να εισάγετε μόνο κάποιο σύμβολο αριθμητικής πράξης" ??

Δημοσ.

Γιατί μετά συνεχίζεις , στο select case όπου υπάρχει η επιλογή ^. Έτσι το lblApotelesma παίρνει την τιμή Apotelesma = (ProtosArithmos ^ DefterosArithmos).

Δημοσ.

Ωραία αυτό που μου είπες το κατάλαβα αλλά αν το κάνω έτσι όπως μου είπες όταν του ζητάω να υψώσει σε δύναμη μου βγάζει αυτό "Πρέπει να εισάγετε μόνο κάποιο σύμβολο αριθμητικής πράξης" όπως και θα έπρεπε να κάνει!!!Όταν όμως στο if προσθέσω και το σύμβολο της δύναμης εξακολουθεί να βγάζει "Πρέπει να εισάγετε μόνο κάποιο σύμβολο αριθμητικής πράξης" Γιατί το κάνει αυτό??Και πως θα μπορούσα να το διορθώσω?

>
Private Sub BtnIson_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnIson.Click
       Dim ProtosArithmos As Double
       Dim DefterosArithmos As Double
       Dim Praksi As Char
       Dim Apotelesma As String
       ProtosArithmos = CDbl(InputBox("Πρώτος Αριθμός", "Αριθμός", "0"))
       DefterosArithmos = CDbl(InputBox("Δεύτερος Αριθμός", "Αριθμός", "0"))
       Praksi = InputBox("Πράξη", "Πράξη")
       If Praksi <> "+""-""*""/""^" Then
           Apotelesma = "Πρέπει να εισάγετε μόνο κάποιο σύμβολο αριθμητικής πράξης"
           LblApotelesma.Text = CStr(Apotelesma)
       Else
           Select Case Praksi
               Case "+"
                   Apotelesma = (ProtosArithmos + DefterosArithmos)
                   LblApotelesma.Text = CStr(Apotelesma)
               Case "-"
                   Apotelesma = (ProtosArithmos - DefterosArithmos)
                   LblApotelesma.Text = CStr(Apotelesma)
               Case "*"
                   Apotelesma = (ProtosArithmos * DefterosArithmos)
                   LblApotelesma.Text = CStr(Apotelesma)
               Case "/"
                   If (DefterosArithmos <> 0) Then
                       Apotelesma = (ProtosArithmos / DefterosArithmos)
                       LblApotelesma.Text = CStr(Apotelesma)
                   Else
                       Apotelesma = "Δεν γίνεται διαίρεση με το μηδέν"
                       LblApotelesma.Text = CStr(Apotelesma)
                   End If
               Case "^"
                   Apotelesma = (ProtosArithmos ^ DefterosArithmos)
                   LblApotelesma.Text = CStr(Apotelesma)
           End Select
       End If
   End Sub
End Class

Δημοσ.

δυστυχώς όχι!!!Και ούτε ξέρω καν τι είναι αυτό που ανάφερες!!!Δεν υπάρχει κανένας πιο απλός τρόπος??

Δημοσ.

Οκ δοκίμασε να πατήσεις δίπλα σε μια γραμμή κώδικα. Λογικά θα σου εμφανίσει μια κόκκινη κουκκίδα, το breakpoint. Αν το καταφέρεις πες το.

Δημοσ.

Βάλε breakpoint σε αυτή την γραμμή

>If Praksi <> "+""-""*""/""^" Then

και πάτα το F5. Και μετά διαδοχικά το F10.

Δημοσ.

Αν το έκανα σωστά έχω φτάσει σε ένα σημείο όπου εκτός της κόκκινης βούλας που έχει βγάλει (breakpoint) μου έχει κιτρινίσει κιόλας την συγκεκριμένη γραμμή και από δίπλα έχει ένα κίτρινο βελάκι!!!Μετά τι πρέπει να κάνω??

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...