Operation en visual basic .net

Résolu
Bonjour,

J'ai créer un programme qui additionne ou soustrait ou multiplie ou encore divise deux chiffres, il me met comme resultat zero a chaque fois ! quel est le probleme ?

Voici le code source :

Public Class Form1
    Dim operation As String


    Private Function addition(ByVal chiffre1 As Integer, ByVal chiffre2 As Integer)
        Dim Resultat As Integer
        If operation = "addition" Then
            Resultat = chiffre1 + chiffre2
        ElseIf operation = "soustraction" Then
            Resultat = chiffre1 - chiffre2
        ElseIf operation = "multiplication" Then
            Resultat = chiffre1 * chiffre2
        ElseIf operation = "division" Then
            Resultat = chiffre1 / chiffre2
        End If
        Return Resultat
    End Function

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Label1.Text = "le resultat est : " & addition(TextBox1.Text, TextBox2.Text)
        MsgBox(ComboBox1.SelectedItem)
    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        If ComboBox1.SelectedItem = "+" Then
            operation = "addition"
        ElseIf ComboBox1.SelectedItem = "-" Then
            operation = "soustraction"
        ElseIf ComboBox1.SelectedItem = "x" Then
            operation = "multiplication"
        ElseIf ComboBox1.SelectedItem = "/" Then
            operation = "division"
        End If
    End Sub
End Class


2 réponses

  1. Le VB commence à être bien loin pour moi, cependant, de mémoire, il me semble que tu as oubliés quelques end if là dedans

    If operation = "addition" Then
    Resultat = chiffre1 + chiffre2
    ElseIf operation = "soustraction" Then
    Resultat = chiffre1 - chiffre2
    ElseIf operation = "multiplication" Then
    Resultat = chiffre1 * chiffre2
    ElseIf operation = "division" Then
    Resultat = chiffre1 / chiffre2
    End If

    genre

    If operation = "addition" Then
    Resultat = chiffre1 + chiffre2
    ElseIf operation = "soustraction" Then
    Resultat = chiffre1 - chiffre2
    End If
    ElseIf operation = "multiplication" Then
    Resultat = chiffre1 * chiffre2
    End If
    ElseIf operation = "division" Then
    Resultat = chiffre1 / chiffre2
    End If
    End If
    0
    1. Pour info et re mémorisation, la syntaxe If .... Then ... ElseIf ... Then .... ElseIf .... Then .... End If est correct. De plus l'Editeur VB soulève l'erreur de syntaxe et empêche l'exécution du code.

      Le problème vient de l'initialisation de la variable "operation".

      ;o)
      0
    2. oui il n'y a pas de probleme de end if
      0
    3. Autant pour moi ! :D
      0
    4. Pas de souci Varaldi Q, je l'ai signalé pour info et pour ne pas semer la confusion pour ceux qui rencontreraient le même problème.
      0
    5. Oui, c'est cool de l'avoir rappelé ;)
      0
  2. Bonjour,

    A quel moment est affecté la valeur de la variable "opération" ?

    A 1ère vue, c'est le choix de Combobox1 qui détermine de l'opérateur. C'est donc sur l'évènement click du bouton 1 qu'il faut initialiser "operation" en faisant un contrôle sur le contenu de la sélection du combobox1 pour s'assurer qu'il y a bien un élément sélectionné.

    ;o)
    1
    1. Merci beaucoup !
      0