a 11 '>> ou la valeur te ton choix b -3 '>> ou la valeur te ton choix toto = a Xor b Select Case toto Case Is >= 0 msg IIf(a 0 Or b = 0, "nul", "positif") Case Else msg = "négatif" End Select MsgBox "le produit de " & a & " par " & b & " est " & msg
Je pense ne pas l'avoir suffisamment sécurisé (notamment lorsque l'utilisateur ne rempli qu'une seule case et pas l'autre)
Attention toutefois, on ne doit pas calculer le produit !
'En partant du principe que Entier1 et 2 ce sont des textBox Dim x As Integer = Val(Entier1.Text) Dim y As Integer = Val(entier2.Text) 'traitement des différents cas possibles If Entier1.Text "" Or Entier2.Text "" Then 'Si l'utilisateur n'a pas rempli une des cases: MsgBox("Vous devez remplir tous les champs!...") Else If x 0 Or y 0 Then MsgBox("Le résultat est nul", MsgBoxStyle.Information, "type de résultat") ElseIf x > 0 And y > 0 Then MsgBox("Le résultat est positif", MsgBoxStyle.Information, "type de résultat") ElseIf x < 0 And y < 0 Then MsgBox("Le résultat est négatif", MsgBoxStyle.Information, "type de résulstat") End If End If Entier1.Text = "" Entier2.Text = ""
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionPeut-être d'autres avis ?
Tu as également eu l'avis de jack (que je salue), non ?
Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Try Dim msg As String = "NEGATIF" Dim x As Integer = Fix(CInt(TextBox5.Text)) Dim y As Integer = Fix(CInt(TextBox6.Text)) TextBox5.Text = x TextBox6.Text = y If (x < -1000000 Or x > 1000000) Or (y < -1000000 Or y > 1000000) Then GoTo faute If (x > 0 And y > 0) Or (x < 0 And y < 0) Then msg = "POSITIF" If x 0 Or y 0 Then msg = "NUL" MsgBox(msg, vbInformation, "Résultat") ' va direct à exit sub Catch ex As Exception GoTo faute End Try Exit Sub ' sort ici pour ne pas aller dans le message d'erreur faute: ' gestion collctive des erreurs Dim erreur As String = "Erreur de saisie : " & vbLf erreur = erreur & "Saisir dans chaque zone un nombre entier" & vbLf erreur = erreur & "De -1.000.000 à 1.000.000 inclus, remédier... " & vbLf MsgBox(erreur, vbInformation, "Erreur") TextBox5.Focus() ' donne le curseur à cet objet End Sub
"Écrire un algorithme qui demande deux nombres à l’utilisateur et l’informe ensuite si le produit est négatif ou positif (on inclut le traitement du cas où le produit peut être nul). Attention toutefois, on ne doit pas calculer le produit !"
Par contre ne prend pas VAL car si par exemple ton textBox est vide = "", ben VAL va le prendre pour un zéro
ElseIf x < 0 And y < 0 Then
MsgBox("Le résultat est négatif", MsgBoxStyle.Information, "type de résulstat"
mais je garde pour moi le code de sorte à ce que notre ami se creuse un peu les méninges lui aussi
on se connait tous entre nous par le biais de ce forum (plus ou moins) ucfoutu, EhJoe, Jack etc.
je viens d'entamer une formation pour adultes de développeur informatique
deux nombres à l’ ; utilisateur et l’ ;
case nommé "entier1"
Private Sub Entier1_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Entier1.KeyUp For Each Caractere In Entier1.Text If IsNumeric(Caractere) = False Then Entier1.Text = Entier1.Text.Remove(Entier1.TextLength - 1) Entier1.SelectionStart = Entier1.TextLength End If Next End Sub
Private num1, num2 As Double Private Sub CheckProduct() If Not Double.TryParse(textnum1.Text, num1) Then MessageBox.Show(textnum1.Text & " n'est pas numérique") Exit Sub End If If Not Double.TryParse(textnum2.Text, num2) Then MessageBox.Show(textnum2.Text & " n'est pas numérique") Exit Sub End If If (num1 > 0) And (num2 > 0) Then MessageBox.Show("le produit " & num1 & " * " & num2 & " est positif") Exit Sub End If If (num1 0) Or (num2 0) Then MessageBox.Show("le produit " & num1 & " * " & num2 & " est nul") Exit Sub End If If (num1 < 0) Or (num2 < 0) Then MessageBox.Show("le produit " & num1 & " * " & num2 & " est négatif") Exit Sub End If End Sub Private Sub ButtonCheck_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles ButtonCheck.MouseClick CheckProduct() End Sub