Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Visual Basic 6 - Errore di calcolo
Forum - Visual Basic 6 - Errore di calcolo

Avatar
Roberto VB (Member)
Expert


Messaggi: 419
Iscritto: 29/01/2007

Segnala al moderatore
Postato alle 10:07
Domenica, 18/11/2007
Salve, ho fatto un programma che misura i lati di un triangolo e dice se è equilatero, isoscele o scaleno. Ho creato quindi 3 textbox dove l'utente inserisce le dimensioni dei lati.
Però se inserisco nella prima textbox 4, nella seconda 5, e nella terza 4 dice che è equilatero. non so per quale motivo. Vi posto il codice:
Codice sorgente - presumibilmente VB.NET

  1. '-------Dichiaro le varibili
  2.     Dim A As Long
  3.     Dim B As Long
  4.     Dim C As Long
  5.     Dim i As Integer
  6. '-------Assegno il valore delle Textbox alle variblabili
  7.     A = Val(txtLato1.Text)
  8.     B = Val(txtLato2.Text)
  9.     C = Val(txtLato3.Text)
  10. '-------Eseguo i calcoli
  11.     If A = (B And C) Then
  12.         MsgBox "Triangolo equilatero", vbInformation
  13.         txtLato1.Text = ""
  14.         txtLato2.Text = ""
  15.         txtLato3.Text = ""
  16.     ElseIf (A <> B) And (A <> C) And (B <> C) Then
  17.         MsgBox "Trinangolo scaleno", vbInformation
  18.         txtLato1.Text = ""
  19.         txtLato2.Text = ""
  20.         txtLato3.Text = ""
  21.     Else
  22.         MsgBox "Trinagolo isoscele", vbInformation
  23.         txtLato1.Text = ""
  24.         txtLato2.Text = ""
  25.         txtLato3.Text = ""
  26.     End If



Help!

PM Quote
Avatar
antometal (Member)
Guru


Messaggi: 691
Iscritto: 12/09/2007

Segnala al moderatore
Postato alle 14:51
Domenica, 18/11/2007
questo xk nel primo if fai l' and logico di 2 numeri
4 and 5=4 quindi ti dice che è equilatero
prova questo codice:

Codice sorgente - presumibilmente VB.NET

  1. if a=b and a=c then
  2.  msgbox "equilatero"
  3. elseif a<>b and a<>c and b<>a then
  4.  msgbox "scaleno"
  5. else
  6.  msgbox "isoscile"
  7. end if
  8.  
  9. poi pulisci tutte le textbox lo fai alla fine degli if e nn dentro così lo scrivi una volta sola


PM Quote
Avatar
Roberto VB (Member)
Expert


Messaggi: 419
Iscritto: 29/01/2007

Segnala al moderatore
Postato alle 15:05
Domenica, 18/11/2007
Si hai ragione, ora funziona perfettamente. Grazie:D

PM Quote